Function at 0x40afe0
Capabilities:
Create process on windows
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
push str.windowinit
mov ecx, edi
call fcn.0042ddc2
test al, al
jne 0x40b2d7
push str.click
mov ecx, edi
call fcn.0042ddc2
test al, al
je 0x40b298
mov eax, dword [edi + 0x84]
cmp eax, dword [esi + 0x3bc]
jne 0x40b115
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push 0
push 0
lea eax, [esi + 0x444]
push eax
call edi
test eax, eax
jne 0x40b082
push 1
push 1
lea ecx, [esi + 0x440]
push ecx
call edi
cmp eax, 1
jne 0x40b05e
mov edx, dword [esi + 0x27c]
push 0xffffffffffffffff
push edx
jmp 0x40b0f4
cmp byte [esi + 0x399], 0
jne 0x40b0fa
call fcn.0040acc0
lea ecx, [esi - 0x10]
push 1
call fcn.0042e2a6
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi - 0xc]
push 0x21
push 0x480b70
push 0x480b78
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40b2d7
push eax
push eax
lea ecx, [esi + 0x448]
push ecx
call edi
cmp eax, 1
je 0x40b2d7
push 0
push 0
lea edx, [esi + 0x440]
push edx
call edi
test eax, eax
jne 0x40b0eb
lea edi, [esi + 0x2a0]
push edi
call fcn.00416350
mov ecx, edi
call fcn.00417970
lea ecx, [esi - 0x10]
push 1
call fcn.0042e2a6
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x27c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add esi, 0xfffffff0
mov eax, esi
call fcn.0040b310
mov ecx, esi
push 1
call fcn.0042e2a6
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp eax, dword [esi + 0x3c0]
jne 0x40b139
push 0
push 0xf020
push 0x112
lea ecx, [esi - 0x10]
call fcn.0042dd30
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp eax, dword [esi + 0x3cc]
jne 0x40b19f
mov ecx, dword [esi + 0x3cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc4]
push 0
call eax
mov ecx, dword [esi + 0x3d0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
push str.f_0
call eax
mov ecx, dword [esi + 0x3bc]
mov edx, dword [ecx]
mov eax, dword [edx + 0xd4]
push 0
call eax
push 0
push 0
add esi, 0xfffffff0
push esi
push 0x40b2e0
push 0
push 0
call fcn.00458f54
add esp, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp eax, dword [esi + 0x3dc]
jne 0x40b1b7
add esi, 0xfffffff0
call fcn.0040b420
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp eax, dword [esi + 0x3e0]
jne 0x40b1d6
call fcn.0040acc0
push 1
lea ecx, [esi - 0x10]
call fcn.0042e2a6
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp eax, dword [esi + 0x3f4]
jne 0x40b259
mov ecx, dword [esi - 0xc]
push 0x121
push 0x480b70
push 0x480b78
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40b2d7
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push eax
push eax
lea edx, [esi + 0x448]
push edx
call edi
cmp eax, 1
je 0x40b2d7
push 0
push 0
lea eax, [esi + 0x440]
push eax
call edi
test eax, eax
je 0x40b0c6
mov ecx, dword [esi + 0x27c]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add esi, 0xfffffff0
mov eax, esi
call fcn.0040b310
push 1
mov ecx, esi
call fcn.0042e2a6
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
cmp eax, dword [esi + 0x3f8]
jne 0x40b27e
push 1
push 0
push 0
push 0x480be4
push 0x480398
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x40b0fa
cmp eax, dword [esi + 0x3fc]
jne 0x40b2d7
lea ecx, [esi - 0x10]
push 1
call fcn.0042e2a6
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push str.link
mov ecx, edi
call fcn.0042ddc2
test al, al
je 0x40b2d7
mov edx, dword [edi + 0x84]
cmp edx, dword [esi + 0x3c4]
jne 0x40b2d7
cmp dword [esi + 0x434], 0
je 0x40b2d7
push 1
push 0
push 0
push 0x480c14
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4