Function at 0x409240
Capabilities:
Resume thread

Disassembly:
push 0xffffffffffffffff
push 0x4472d0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebp
push edi
mov eax, dword [0x45b684]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov eax, dword [esi + 0x1cc]
mov eax, dword [eax + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, dword [esi + 0x20]
lea ebp, [esi + 0xcc]
push ebp
push ecx
mov dword [esi + 0xec], 1
call dword [sym.imp.USER32.dll_GetClientRect]
add dword [esi + 0xd8], 0xfffffff5
add dword [ebp], 0x10
add dword [esi + 0xd4], 0xfffffff0
add dword [esi + 0xd0], 0xf2
call fcn.0040f150
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4092c6
push 0x80004005
call fcn.00401080
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0x1c0]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x14]
call fcn.00402f50
mov edi, dword [0x45f948]
mov ecx, 0x44f0bc
mov eax, edi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409326
test dx, dx
je 0x409322
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409326
add eax, 4
add ecx, 4
test dx, dx
jne 0x409300
xor eax, eax
jmp 0x40932b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x409384
mov ecx, 0x44f90c
mov eax, edi
jmp 0x409340
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409366
test dx, dx
je 0x409362
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409366
add eax, 4
add ecx, 4
test dx, dx
jne 0x409340
xor eax, eax
jmp 0x40936b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x409384
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [esp + 0x14]
call fcn.00402f50
jmp 0x4093fd
call fcn.0040f150
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40939e
push 0x80004005
call fcn.00401080
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x9f
lea ecx, [esp + 0x14]
push 0x44fd10
push ecx
mov byte [esp + 0x28], 1
call fcn.004012f0
mov edi, dword [esp + 0x1c]
mov eax, dword [edi - 0xc]
add esp, 0xc
push eax
push edi
lea ecx, [esp + 0x14]
call fcn.00402f50
lea eax, [edi - 0x10]
mov byte [esp + 0x1c], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4093fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0x74]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
lea edi, [esi + 0x54]
push 0
je 0x409438
mov eax, dword [esi + 0xd0]
mov edx, dword [esi + 0xd8]
mov ecx, dword [ebp]
sub edx, eax
push edx
mov edx, dword [esi + 0xd4]
sub edx, ecx
push edx
push eax
push ecx
push 0
mov ecx, edi
call fcn.004170e4
jmp 0x409459
push 0
push 0
push 0x94
push esi
push ebp
push 0x50000000
push str.hello
push 0x44f35c
mov ecx, edi
call fcn.0041a213
mov ebp, dword [esp + 0xc]
push 0
push 0
push 0
push 0
push ebp
push str._bLLLL
push 0
push 0
push 1
push 0x68
push edi
call fcn.00416f57
mov ecx, dword [esi + 0xc8]
add esp, 0x2c
test ecx, ecx
je 0x40948d
push 0
call fcn.00416ed9
lea eax, [ebp - 0x10]
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4094b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
add esp, 0x14
ret