Function at 0x445a70
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x509500
mov eax, dword fs:[0]
push eax
sub esp, 0x1c0
mov eax, dword [0x542040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c8], edx
mov edi, ecx
mov dword [ebp - 0x1a0], edi
mov eax, dword [ebp + 0x14]
mov ecx, 0x51f308
mov bl, byte [ebp + 0x10]
mov dword [ebp - 0x1b0], eax
test bl, bl
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1b4], eax
mov eax, 0x51f2ec
cmove eax, ecx
mov dword [ebp - 0x134], str.GWL_WNDPROC
cmp dword [0x549340], 0
mov dword [ebp - 0x130], 0xfffffffc
mov dword [ebp - 0x12c], str.GWL_HINSTANCE
mov dword [ebp - 0x128], 0xfffffffa
mov dword [ebp - 0x124], str.GWL_HWNDPARENT
mov dword [ebp - 0x120], 0xfffffff8
mov dword [ebp - 0x11c], str.GWL_ID
mov dword [ebp - 0x118], 0xfffffff4
mov dword [ebp - 0x114], str.GWL_STYLE
mov dword [ebp - 0x110], 0xfffffff0
mov dword [ebp - 0x10c], str.GWL_EXSTYLE
mov dword [ebp - 0x108], 0xffffffec
mov dword [ebp - 0x104], str.GWL_USERDATA
mov dword [ebp - 0x100], 0xffffffeb
mov dword [ebp - 0xfc], str.DWL_MSGRESULT
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], str.DWL_DLGPROC
mov dword [ebp - 0xf0], 4
mov dword [ebp - 0xec], str.DWL_USER
mov dword [ebp - 0xe8], 8
mov dword [ebp - 0x18c], str.GCL_MENUNAME
mov dword [ebp - 0x188], 0xfffffff8
mov dword [ebp - 0x184], str.GCL_HBRBACKGROUND
mov dword [ebp - 0x180], 0xfffffff6
mov dword [ebp - 0x17c], str.GCL_HCURSOR
mov dword [ebp - 0x178], 0xfffffff4
mov dword [ebp - 0x174], str.GCL_HICON
mov dword [ebp - 0x170], 0xfffffff2
mov dword [ebp - 0x16c], str.GCL_HMODULE
mov dword [ebp - 0x168], 0xfffffff0
mov dword [ebp - 0x164], str.GCL_CBWNDEXTRA
mov dword [ebp - 0x160], 0xffffffee
mov dword [ebp - 0x15c], str.GCL_CBCLSEXTRA
mov dword [ebp - 0x158], 0xffffffec
mov dword [ebp - 0x154], str.GCL_WNDPROC
mov dword [ebp - 0x150], 0xffffffe8
mov dword [ebp - 0x14c], str.GCL_STYLE
mov dword [ebp - 0x148], 0xffffffe6
mov dword [ebp - 0x144], str.GCW_ATOM
mov dword [ebp - 0x140], 0xffffffe0
mov dword [ebp - 0x13c], str.GCL_HICONSM
mov dword [ebp - 0x138], 0xffffffde
mov dword [ebp - 0x1c4], eax
je 0x445c9b
push 0
push 0x51d474
mov ecx, 0x5492d0
call fcn.004347b0
mov dword [0x549304], eax
jmp 0x445ca0
mov eax, dword [0x549304]
test eax, eax
mov ecx, str._s__0x_08X_
mov edx, str._s___d_
cmove ecx, edx
xor esi, esi
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x190], esi
push 0x28
mov dword [ebp - 4], esi
call fcn.004db155
mov edx, dword [ebp + 0xc]
mov ecx, eax
mov dword [ecx + 0x18], esi
lea eax, [ecx + 0x18]
mov dword [eax + 4], esi
add esp, 4
mov dword [eax + 8], esi
test bl, bl
mov dword [ebp - 0x198], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
cmovne eax, dword [sym.imp.USER32.dll_GetClassLongW]
mov dword [ecx + 4], edi
mov edi, dword [ebp + 8]
mov dword [ecx], eax
lea eax, [ebp - 0x18c]
mov dword [ecx + 8], edi
lea edi, [ebp - 0x134]
cmove eax, edi
mov dword [ebp - 0x19c], ecx
mov dword [ecx + 0x10], eax
xor edi, edi
mov eax, dword [ebp - 0x19c]
mov dword [ecx + 0xc], edx
sub edx, dword [ebp + 8]
movzx ecx, bl
add ecx, 0xa
mov byte [eax + 0x24], 0
mov dword [eax + 0x14], ecx
lea eax, [edx + 1]
test eax, eax
cmovns edi, eax
add edi, ecx
mov ecx, dword [ebp - 0x1b0]
push edi
call fcn.00448250
mov ecx, dword [ebp - 0x1b4]
push edi
call fcn.00448250
mov eax, dword [ebp - 0x198]
mov ebx, dword [eax + 4]
mov ecx, ebx
mov edx, dword [eax]
sub ecx, edx
sar ecx, 3
cmp edi, ecx
jae 0x445d6a
lea eax, [edx + edi*8]
jmp 0x445d9b
jbe 0x445da4
mov eax, dword [eax + 8]
sub eax, edx
sar eax, 3
cmp edi, eax
jbe 0x445d87
push ecx
mov ecx, dword [ebp - 0x198]
push edi
call fcn.004493d0
jmp 0x445da4
sub edi, ecx
shl edi, 3
push edi
push 0
push ebx
call fcn.004ded20
add esp, 0xc
lea eax, [edi + ebx]
mov ecx, dword [ebp - 0x198]
mov dword [ecx + 4], eax
mov ebx, dword [ebp - 0x19c]
lea eax, [ebp - 0x194]
push eax
push 0
push ebx
push 0x446250
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
test edi, edi
je 0x446134
push 0x12c
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov dword [ebp - 0x1bc], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x18]
mov edx, dword [ecx + 4]
or edi, 0xffffffff
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1cc], edx
cmp eax, edx
je 0x4460d9
mov ebx, dword [eax]
inc edi
mov eax, dword [eax + 4]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1b8], edi
cmp edi, dword [eax + 0x14]
jge 0x445f1d
mov eax, dword [eax + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
lea eax, [ebp - 0x190]
push dword [ebp - 0x1c0]
push eax
call fcn.00423fb0
mov esi, dword [ebp - 0x190]
add esp, 0x10
test esi, esi
je 0x445e55
mov eax, dword [esi + 8]
jmp 0x445e57
xor eax, eax
mov ecx, dword [ebp - 0x1b0]
shl edi, 2
mov ecx, dword [ecx]
add ecx, edi
mov edx, dword [ecx]
test edx, edx
je 0x445e6f
cmp eax, dword [edx + 8]
je 0x445e77
push 0
push eax
call fcn.0042dfa0
cmp dword [0x549340], 0
je 0x445e9b
push 0
push 0x51d474
mov ecx, 0x5492d0
call fcn.004347b0
mov ecx, eax
mov dword [0x549304], ecx
jmp 0x445ea1
mov ecx, dword [0x549304]
test ecx, ecx
mov eax, 0x51c248
mov ecx, str._lld
cmove eax, ecx
push ebx
push eax
lea eax, [ebp - 0xe4]
push 0x32
push eax
call fcn.00407ae0
add esp, 0x10
mov dword [ebp - 0x1a8], 0
lea eax, [ebp - 0xe4]
lea ecx, [ebp - 0x1a8]
push 0
push eax
call fcn.0042dfa0
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax]
lea eax, [ebp - 0x1a8]
add ecx, edi
push eax
call fcn.0042ec20
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1a8]
test eax, eax
je 0x445f14
add dword [eax + 4], 0xffffffff
jne 0x445f14
push eax
call fcn.004eb01a
add esp, 4
mov byte [ebp - 4], 0
jmp 0x4460ac
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x190]
push ecx
push dword [ebp - 0x1c4]
inc ecx
push str._s_hWnd___d_
push eax
mov dword [ebp + 8], ecx
call fcn.00423fb0
mov esi, dword [ebp - 0x190]
add esp, 0x10
test esi, esi
je 0x445f4e
mov eax, dword [esi + 8]
jmp 0x445f50
xor eax, eax
mov ecx, dword [ebp - 0x1b0]
lea edx, [edi*4]
mov ecx, dword [ecx]
add ecx, edx
mov edx, dword [ecx]
test edx, edx
je 0x445f6c
cmp eax, dword [edx + 8]
je 0x445f74
push 0
push eax
call fcn.0042dfa0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, 1
jne 0x445f8d
movzx eax, bl
cdq
mov ebx, eax
mov dword [ebp - 0x1a8], edx
jmp 0x445faf
cmp ecx, 2
jne 0x445fa0
movzx eax, bx
cdq
mov ebx, eax
mov dword [ebp - 0x1a8], edx
jmp 0x445faf
cmp ecx, 4
jne 0x445faf
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b8]
mov edi, dword [eax]
lea eax, [edx*4]
add edi, eax
cmp ecx, 1
jne 0x446007
cmp dword [0x549340], 0
je 0x445fec
push 0
push 0x51d474
mov ecx, 0x5492d0
call fcn.004347b0
mov dword [0x549304], eax
jmp 0x445ff1
mov eax, dword [0x549304]
test eax, eax
mov ecx, str.0x_02X
mov eax, 0x51c1c8
cmove ecx, eax
movzx eax, bl
push eax
push ecx
jmp 0x446083
cmp ecx, 2
jne 0x446048
cmp dword [0x549340], 0
je 0x44602d
push 0
push 0x51d474
mov ecx, 0x5492d0
call fcn.004347b0
mov dword [0x549304], eax
jmp 0x446032
mov eax, dword [0x549304]
test eax, eax
mov ecx, 0x51cc70
mov eax, 0x51c1c8
cmove ecx, eax
movzx eax, bx
push eax
push ecx
jmp 0x446083
cmp dword [0x549340], 0
je 0x44606c
push 0
push 0x51d474
mov ecx, 0x5492d0
call fcn.004347b0
mov ecx, eax
mov dword [0x549304], ecx
jmp 0x446072
mov ecx, dword [0x549304]
test ecx, ecx
mov eax, str.0x_08X
mov ecx, 0x51c1c8
push ebx
cmove eax, ecx
push eax
lea eax, [ebp - 0x7c]
push 0x32
push eax
call fcn.00407ae0
mov eax, dword [edi]
add esp, 0x10
test eax, eax
je 0x44609f
lea ecx, [ebp - 0x7c]
cmp ecx, dword [eax + 8]
je 0x4460ac
push 0
lea eax, [ebp - 0x7c]
mov ecx, edi
push eax
call fcn.0042dfa0
mov eax, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x1b8]
add eax, 8
mov dword [ebp - 0x1a0], eax
cmp eax, dword [ebp - 0x1cc]
jne 0x445e06
mov ebx, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x198]
cmp dword [ebp - 0x1bc], 0x102
jne 0x4460eb
mov byte [ebx + 0x24], 1
jmp 0x4460fb
call fcn.00409f30
push 0x28
push ebx
call fcn.004dadea
add esp, 8
mov dword [ebp - 4], 2
test esi, esi
je 0x446115
add dword [esi + 4], 0xffffffff
jne 0x446115
push esi
call fcn.004eb01a
add esp, 4
lea eax, [edi + 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004dadd7
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x520134
push 0x10
push 0x5201e4
push dword [ebp - 0x1a0]
call fcn.00425190
add esp, 0x14
push 0
push 0
call fcn.004dee7a
int3