Function at 0x40d030
Capabilities:
Hide graphical window

Disassembly:
push 0xffffffffffffffff
push 0x44a5a6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40c
mov eax, dword [0x45b4f4]
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
mov ecx, dword [eax - 8]
push edi
cmp ecx, ebx
mov dword [esp + 0x14], ebx
jne 0x40d106
lea eax, [esp + 0x1c]
push pe_nt_image_headers32
push eax
push 0xa7
call fcn.00404ba0
mov ecx, pe_nt_image_headers32
sub ecx, eax
cmp ecx, 1
jle 0x40d0b0
lea edx, [esp + 0x1c]
test edx, edx
jne 0x40d093
xor eax, eax
jmp 0x40d09e
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [esp + 0x1c]
push ecx
push eax
mov ecx, 0x45b4f4
call fcn.00404a30
jmp 0x40d101
push 0x1ff
mov ecx, 0x45b4f4
mov edi, 0x200
call fcn.004048a0
cmp eax, ebx
je 0x40d0f5
push edi
push eax
push 0xa7
call fcn.00404ba0
mov edx, edi
sub edx, eax
cmp edx, 1
jg 0x40d0f5
add edi, 0x100
mov ecx, 0x45b4f4
lea eax, [edi - 1]
push eax
call fcn.004048a0
cmp eax, ebx
jne 0x40d0c8
push 0xffffffffffffffff
mov ecx, 0x45b4f4
call fcn.00404960
mov eax, dword [0x45b4f4]
mov ecx, dword [esi + 0x110]
cmp ecx, 0x5002
jne 0x40d157
mov al, byte [0x45c550]
test al, 1
jne 0x40d13f
mov dl, al
mov ecx, 0x45c560
or dl, 1
mov byte [0x45c550], dl
call fcn.00428c20
push 0x404c10
call fcn.0043667e
add esp, 4
push 0x20
mov ecx, 0x45c560
call fcn.00428ef0
mov ecx, esi
call fcn.0040c8d0
jmp 0x40d393
cmp ecx, 0x5000
jne 0x40d403
push eax
lea ecx, [esi + 0x114]
push 0x93
push ecx
call fcn.004041e0
mov edx, dword [esi + 0x2f0]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
add esp, 0xc
push 5
push edx
call edi
mov eax, dword [esi + 0x2f0]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 1
push 0xf1
push eax
call ebp
mov ecx, dword [esi + 0x2f0]
mov ebx, dword [sym.imp.USER32.dll_MoveWindow]
push 1
push 0x12
push 0xb4
push 0xb4
push 0xb7
push ecx
call ebx
call fcn.00404d70
test eax, eax
jne 0x40d24a
mov al, byte [0x45c550]
test al, 1
jne 0x40d1f6
mov dl, al
mov ecx, 0x45c560
or dl, 1
mov byte [0x45c550], dl
call fcn.00428c20
push 0x404c10
call fcn.0043667e
add esp, 4
push 0x14
mov ecx, 0x45c560
call fcn.00428ef0
mov edx, dword [esi + 0x3a4]
push 5
push edx
call edi
mov eax, dword [esi + 0x3a4]
push 0
push 1
push 0xf1
push eax
call ebp
mov ecx, dword [esi + 0x3a4]
push 1
push 0x12
push 0x12c
push 0xc8
push 0xb7
push ecx
call ebx
mov dword [esi + 0x600], 1
jmp 0x40d36c
call fcn.00401040
test eax, eax
jne 0x40d338
mov al, byte [0x45c550]
test al, 1
jne 0x40d282
mov dl, al
mov ecx, 0x45c560
or dl, 1
mov byte [0x45c550], dl
call fcn.00428c20
push 0x404c10
call fcn.0043667e
add esp, 4
push 0x33
mov ecx, 0x45c560
call fcn.00428ef0
lea edx, [esp + 0x18]
push 0xb3
push edx
call fcn.0040e6c0
add esp, 8
mov eax, dword [eax]
lea ecx, [esi + 0x364]
push eax
mov dword [esp + 0x428], 0
call fcn.0041dfb0
mov eax, dword [esp + 0x18]
mov edx, dword [0x455054]
mov dword [esp + 0x424], 0xffffffff
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x40d2f3
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x40d2f3
mov edx, dword [esp + 0x18]
lea eax, [edx - 0xc]
push eax
call fcn.0042ac06
add esp, 4
mov eax, dword [esi + 0x3a4]
push 5
push eax
call edi
mov ecx, dword [esi + 0x3a4]
push 0
push 1
push 0xf1
push ecx
call ebp
mov edx, dword [esi + 0x3a4]
push 1
push 0x12
push 0x12c
push 0xc8
push 0xb7
push edx
call ebx
mov dword [esi + 0x600], 0xb3
jmp 0x40d36c
mov eax, dword [esi + 0x70]
mov dword [esi + 0x600], 0
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x40d36c
mov dword [esp + 0x14], 1
call fcn.0040ba60
mov eax, dword [esi + 0x70]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [esi + 0x458]
push 1
push 0x2a
push 0x74
push 0xe6
push 0xda
push eax
call ebx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40d694
xor ebx, ebx
mov eax, dword [0x455050]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x110]
mov dword [esp + 0x424], 1
cmp eax, 0x5000
jne 0x40d5cc
mov ecx, dword [0x45b330]
lea edx, [esp + 0x1c]
push pe_nt_image_headers32
push edx
mov eax, dword [ecx + 8]
push 0xa1
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
cmp eax, ebx
jne 0x40d3e0
mov word [esp + 0x1c], bx
mov ecx, pe_nt_image_headers32
sub ecx, eax
cmp ecx, 1
jle 0x40d57f
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x10]
push edx
call fcn.00403e20
jmp 0x40d650
cmp ecx, 0x5001
push eax
jne 0x40d52b
lea ecx, [esi + 0x114]
push 0x92
push ecx
call fcn.004041e0
mov edx, dword [0x45b330]
add esp, 0xc
lea ecx, [esp + 0x1c]
lea ebp, [esi + 0x118]
mov eax, dword [edx + 8]
push pe_nt_image_headers32
push ecx
push 0x97
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
cmp eax, ebx
jne 0x40d452
mov word [esp + 0x1c], bx
mov edx, pe_nt_image_headers32
sub edx, eax
cmp edx, 1
jle 0x40d46c
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.00403e20
jmp 0x40d4b4
push 0x1ff
mov ecx, ebp
mov edi, 0x200
call fcn.004048a0
cmp eax, ebx
je 0x40d4ab
push edi
push eax
push 0x97
call fcn.00404ba0
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jg 0x40d4ab
add edi, 0x100
mov ecx, ebp
lea edx, [edi - 1]
push edx
call fcn.004048a0
cmp eax, ebx
jne 0x40d481
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00404960
mov ebp, dword [ebp]
lea edi, [esi + 0xa0]
push ebp
mov ecx, edi
call fcn.0041f230
mov ecx, edi
call fcn.0041f270
mov eax, dword [esi + 0xe0]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x458]
mov edi, dword [sym.imp.USER32.dll_MoveWindow]
push 1
push 0x2a
push 0x74
push 0xe4
push 0xda
push ecx
call edi
mov edx, dword [esi + 0xe0]
push 1
push 0x1e
push 0xf0
push 0xa7
push 0xa2
push edx
call edi
push 0x455ab4
lea ecx, [esi + 0x418]
call fcn.0041dfb0
jmp 0x40d393
lea eax, [esi + 0x114]
push 0xa6
push eax
call fcn.004041e0
mov ecx, dword [esi + 0x458]
add esp, 0xc
mov edi, dword [sym.imp.USER32.dll_MoveWindow]
push 1
push 0x2a
push 0x74
push 0xe4
push 0xda
push ecx
call edi
mov edx, dword [esi + 0xe0]
push 1
push 0x1e
push 0xf0
push 0xa7
push 0xa2
push edx
call edi
jmp 0x40d393
push 0x1ff
lea ecx, [esp + 0x14]
mov edi, 0x200
call fcn.004048a0
cmp eax, ebx
je 0x40d645
push edi
push eax
push 0xa1
call fcn.00404ba0
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jg 0x40d645
add edi, 0x100
lea ecx, [esp + 0x10]
lea edx, [edi - 1]
push edx
call fcn.004048a0
cmp eax, ebx
jne 0x40d59a
jmp 0x40d645
lea eax, [esp + 0x21c]
push pe_nt_image_headers32
push eax
push 0xa0
call fcn.00404ba0
mov ecx, pe_nt_image_headers32
sub ecx, eax
cmp ecx, 1
jle 0x40d602
lea edx, [esp + 0x21c]
lea ecx, [esp + 0x10]
push edx
call fcn.00403e20
jmp 0x40d650
push 0x1ff
lea ecx, [esp + 0x14]
mov edi, 0x200
call fcn.004048a0
cmp eax, ebx
je 0x40d645
push edi
push eax
push 0xa0
call fcn.00404ba0
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jg 0x40d645
add edi, 0x100
lea ecx, [esp + 0x10]
lea edx, [edi - 1]
push edx
call fcn.004048a0
cmp eax, ebx
jne 0x40d619
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.00404960
mov esi, dword [esi + 0x70]
mov ecx, dword [esp + 0x10]
push 0x1d4c0
push ecx
mov eax, dword [esi]
push 1
push esi
call dword [eax + 0x3c]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x455054]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x40d694
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x40d694
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.0042ac06
add esp, 4
mov ecx, dword [esp + 0x41c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x418
ret