Function at 0x40bd70
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d77bc
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x50738c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1ec], ecx
cmp dword [ebp + 8], 0x10
jne 0x40bf06
mov eax, dword [ebp - 0x1ec]
movzx ecx, byte [eax + 0xad4]
test ecx, ecx
je 0x40bede
mov edx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x40bde3
push 1
push 1
mov ecx, dword [ebp - 0x1ec]
call fcn.00431aa0
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x40be0e
push 0
push 0xf120
push 0x112
mov ecx, dword [ebp - 0x1ec]
call fcn.004318b0
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x214], esp
mov eax, dword [ebp - 0x1ec]
add eax, 0xabc
push eax
call fcn.004022c0
mov dword [ebp - 0x218], eax
mov dword [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x21c], esp
mov edx, dword [ebp - 0x1ec]
add edx, 0xaa4
push edx
call fcn.004022c0
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 4]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.004019f0
add esp, 0x34
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 3
jne 0x40bece
push 1
push 0
mov ecx, dword [ebp - 0x1ec]
call fcn.00431aa0
xor eax, eax
jmp 0x40c2a9
cmp dword [ebp - 0x1f4], 1
jne 0x40bede
xor eax, eax
jmp 0x40c2a9
mov eax, dword [ebp - 0x1ec]
add eax, 0x6e4
push eax
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x40c2a9
cmp dword [ebp + 8], 0x408
jne 0x40bf27
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x1ec]
call fcn.004090d0
jmp 0x40c292
cmp dword [ebp + 8], 0x111
jne 0x40bfdc
cmp dword [ebp + 0xc], 0x409
jne 0x40bfc1
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x40bf64
push 1
push 1
mov ecx, dword [ebp - 0x1ec]
call fcn.00431aa0
mov edx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x40bf8f
push 0
push 0xf120
push 0x112
mov ecx, dword [ebp - 0x1ec]
call fcn.004318b0
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x40bfd7
cmp dword [ebp + 0xc], 0x40a
jne 0x40bfd7
push 1
mov ecx, dword [ebp - 0x1ec]
call fcn.00431260
jmp 0x40c292
cmp dword [ebp + 8], 0x407
jne 0x40c040
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
push edx
lea ecx, [ebp - 0x1d0]
call fcn.00406030
mov dword [ebp - 4], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x220], esp
lea eax, [ebp - 0x1d0]
push eax
call fcn.00403c30
mov ecx, dword [ebp - 0x1ec]
call fcn.00409ce0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d0]
call fcn.00402340
jmp 0x40c292
cmp dword [ebp + 8], 0x40b
jne 0x40c0a4
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x208]
push edx
lea ecx, [ebp - 0x1e8]
call fcn.00406030
mov dword [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x224], esp
lea eax, [ebp - 0x1e8]
push eax
call fcn.00403c30
mov ecx, dword [ebp - 0x1ec]
call fcn.0040b310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00402340
jmp 0x40c292
cmp dword [ebp + 8], 0x401
jne 0x40c0cd
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x20c]
push edx
mov ecx, dword [ebp - 0x1ec]
call fcn.00409aa0
jmp 0x40c292
cmp dword [ebp + 8], 0x406
jne 0x40c0e8
push 0
mov ecx, dword [ebp - 0x1ec]
call fcn.00408d50
jmp 0x40c292
cmp dword [ebp + 8], 0x402
jne 0x40c1d3
push 1
mov ecx, dword [ebp - 0x1ec]
call fcn.00408d50
mov eax, dword [ebp - 0x1ec]
cmp dword [eax + 0x6dc], 0
je 0x40c126
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx + 0x6dc]
call fcn.00434e60
mov eax, dword [ebp - 0x1ec]
cmp dword [eax + 0x6e0], 0
je 0x40c1ce
push 0x190
push 0
lea ecx, [ebp - 0x1a0]
push ecx
call fcn.004b6780
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
push 0x4f88dc
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x1a0]
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.00402200
mov dword [ebp - 4], 3
push 0x4f88f0
lea ecx, [ebp - 0x1b8]
call fcn.00406600
lea ecx, [ebp - 0x1b8]
call fcn.004020b0
push eax
mov edx, dword [ebp - 0x1ec]
mov eax, dword [edx + 0x6e0]
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x6e0]
mov eax, dword [edx + 0x2c]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b8]
call fcn.004021b0
jmp 0x40c292
cmp dword [ebp + 8], 0x403
jne 0x40c27c
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x210], ecx
push 2
mov ecx, dword [ebp - 0x1ec]
call fcn.00408d50
push 0x7c
call fcn.004b3f75
add esp, 4
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x40c222
mov ecx, dword [ebp - 0x1f8]
call fcn.00405b80
mov dword [ebp - 0x1fc], eax
jmp 0x40c22c
mov dword [ebp - 0x1fc], 0
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x1f0]
add ecx, 0x34
call fcn.00405f30
push 0
push 0
mov ecx, dword [ebp - 0x1f0]
push ecx
push 0x408b50
push 0
push 0
call fcn.004b9dcb
add esp, 0x18
jmp 0x40c292
cmp dword [ebp + 8], 0x404
jne 0x40c292
push 3
mov ecx, dword [ebp - 0x1ec]
call fcn.00408d50
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x1ec]
call fcn.004326a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b3f64
mov esp, ebp
pop ebp
ret 0xc