Function at 0x409a50
Capabilities:
Resume thread

Disassembly:
push 0xffffffffffffffff
push 0x44a8f0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push edi
mov eax, dword [0x45f684]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov eax, dword [esi + 0x2d4]
mov eax, dword [eax + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, dword [esi + 0x20]
lea ebx, [esi + 0x1bc]
push ebx
push ecx
mov dword [esi + 0x1dc], 1
call dword [sym.imp.USER32.dll_GetClientRect]
add dword [esi + 0x1c8], 0xfffffff5
add dword [ebx], 0x10
add dword [esi + 0x1c4], 0xfffffff0
add dword [esi + 0x1c0], 0xf2
call fcn.004115c0
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x409ad6
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
mov dword [esp + 0x20], 0
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00402f90
mov edi, dword [0x463988]
mov ecx, 0x45315c
mov eax, edi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409b36
test dx, dx
je 0x409b32
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409b36
add eax, 4
add ecx, 4
test dx, dx
jne 0x409b10
xor eax, eax
jmp 0x409b3b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x409b94
mov ecx, 0x453a04
mov eax, edi
jmp 0x409b50
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409b76
test dx, dx
je 0x409b72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409b76
add eax, 4
add ecx, 4
test dx, dx
jne 0x409b50
xor eax, eax
jmp 0x409b7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x409b94
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.00402f90
jmp 0x409c0d
call fcn.004115c0
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x409bae
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 + 0x14], eax
push 0x9f
lea ecx, [esp + 0x18]
push 0x453f44
push ecx
mov byte [esp + 0x2c], 1
call fcn.004012d0
mov edi, dword [esp + 0x20]
mov eax, dword [edi - 0xc]
add esp, 0xc
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.00402f90
lea eax, [edi - 0x10]
mov byte [esp + 0x20], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x409c0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x1e0], 0
mov ebp, dword [esp + 0x10]
je 0x409c94
mov ecx, dword [esi + 0x74]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
lea edi, [esi + 0x54]
push 0
je 0x409c54
mov eax, dword [esi + 0x1c0]
mov edx, dword [esi + 0x1c8]
mov ecx, dword [ebx]
sub edx, eax
push edx
mov edx, dword [esi + 0x1c4]
sub edx, ecx
push edx
push eax
push ecx
push 0
mov ecx, edi
call fcn.00419591
jmp 0x409c75
push 0
push 0
push 0x94
push esi
push ebx
push 0x50000000
push str.hello
push 0x453450
mov ecx, edi
call fcn.0041c5ef
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.00419404
add esp, 0x2c
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x409ca5
push 0
call fcn.00419386
lea eax, [ebp - 0x10]
mov dword [esp + 0x20], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409cc9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
add esp, 0x14
ret