Function at 0x40371f
Capabilities:
Create thread

Disassembly:
mov eax, 0x415c43
call fcn.00413cf2
sub esp, 0x5c
mov eax, dword [section..cdata]
push ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [esi + 0x10], eax
lea eax, [ebp - 0x68]
push eax
xor edi, edi
push 0x401748
inc edi
push edi
call dword [sym.imp.MSO.DLL_Ordinal_2352]
call fcn.004028e3
call dword [sym.imp.MSO.DLL_Ordinal_453]
test eax, eax
je 0x40353e
mov ecx, esi
mov dword [esi + 0x14], edi
call fcn.0040287a
mov ebx, eax
jmp 0x40356d
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
test eax, eax
jg 0x403550
call ebx
mov ebx, eax
jmp 0x403560
call ebx
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
push 0
push 0
push ebx
call fcn.00412d18
add esp, 0xc
test ebx, ebx
jl 0x403593
call dword [sym.imp.MSO.DLL_Ordinal_1379]
test eax, eax
jne 0x403582
mov ebx, 0x80004005
jmp 0x403593
mov edi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0
call edi
or ax, 0x8001
push eax
call edi
call dword [sym.imp.MSO.DLL_Ordinal_1378]
test ebx, ebx
mov dword [ebp + 0xc], eax
jl 0x403914
call dword [sym.imp.MSO.DLL_Ordinal_3164]
test eax, eax
mov dword [esi + 8], eax
jne 0x4035c0
mov ebx, 0x80004005
call fcn.004134c4
jmp 0x403914
push 0x104
push 0x41bf98
push 1
push eax
call dword [sym.imp.MSO.DLL_Ordinal_540]
test eax, eax
jne 0x4035de
and word [0x41bf98], ax
and word [ebp - 0x30], 0
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x2e]
rep stosd dword es:[edi], eax
push 0x10
stosw word es:[edi], ax
lea eax, [ebp - 0x30]
push eax
push 0
push dword [esi + 8]
call dword [sym.imp.MSO.DLL_Ordinal_540]
test eax, eax
je 0x40361a
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
pop ecx
movzx ecx, word [ebp + 0xc]
cmp eax, ecx
je 0x40361a
mov dword [ebp + 0xc], eax
push dword [ebp + 0xc]
call dword [sym.imp.MSO.DLL_Ordinal_844]
push 0xbb
call dword [sym.imp.MSO.DLL_Ordinal_6039]
push 1
call dword [sym.imp.MSO.DLL_Ordinal_750]
test eax, eax
mov dword [esi + 0x140], eax
jne 0x403645
mov ebx, 0x80004005
test ebx, ebx
jl 0x403914
push 0x34
call sub.MSO.DLL_Ordinal_12
pop ecx
mov dword [ebp - 0x64], eax
and dword [ebp - 4], 0
test eax, eax
je 0x403669
mov ecx, eax
call fcn.0041044f
jmp 0x40366b
xor eax, eax
or dword [ebp - 4], 0xffffffff
test eax, eax
mov dword [esi + 0x144], eax
je 0x403680
mov ecx, eax
call fcn.004102ac
push 0x4019d4
call dword [sym.imp.KERNEL32.dll_AddAtomA]
push 0
push dword [ebp + 8]
mov ebx, 0x41c1cc
push 0x41c1a0
mov ecx, ebx
call fcn.00402b09
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, ebx
mov dword [0x41c1fc], eax
call fcn.00402c4c
push 1
push 4
mov ecx, ebx
call fcn.0040346b
mov ebx, eax
test ebx, ebx
jl 0x403914
mov eax, dword [esi]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 8]
push 0x66
xor edi, edi
push eax
mov dword [ebp - 0x60], 0x30
mov dword [ebp - 0x5c], 8
mov dword [ebp - 0x58], 0x41051a
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push edi
mov dword [ebp - 0x48], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x44], eax
push 1
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], 0x4019b4
mov dword [ebp - 0x34], edi
call dword [sym.imp.MStoreS.dll__RegisterClassEx32_8]
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x40375b
call edi
test eax, eax
jg 0x40373e
call edi
mov ebx, eax
jmp 0x40374e
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
push 0
push 0
push ebx
call fcn.00412d18
add esp, 0xc
test ebx, ebx
jl 0x403914
call dword [sym.imp.MSO.DLL_Ordinal_1356]
test eax, eax
jne 0x40377d
push eax
push eax
mov ebx, 0x80004005
push ebx
call fcn.00412d18
add esp, 0xc
test ebx, ebx
jl 0x403914
lea eax, [ebp - 0x20]
push eax
call fcn.0040f3e6
mov eax, dword [esi]
pop ecx
push 1
xor ecx, ecx
push ecx
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push ecx
push ecx
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push 0x6cf0000
push 0x4019b0
push 0x4019b4
push 0x40100
call dword [sym.imp.MStoreS.dll__CreateWindowEx32_52]
test eax, eax
mov dword [esi + 0x18], eax
jne 0x4037f9
call edi
test eax, eax
jg 0x4037da
call edi
mov ebx, eax
jmp 0x4037ea
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
push 0
push 0
push ebx
call fcn.00412d18
add esp, 0xc
jmp 0x4037ff
mov dword [esi + 0x8c], eax
lea ecx, [esi + 0x54]
push 0
call fcn.0040d96a
test ebx, ebx
jl 0x403914
mov ecx, esi
call fcn.004026b0
test eax, eax
jne 0x40382a
call fcn.004134c4
mov edi, 0x80004005
mov ebx, edi
jmp 0x40382f
mov edi, 0x80004005
test ebx, ebx
jl 0x403914
lea ecx, [esi + 0x54]
call fcn.0040c2b6
test eax, eax
jne 0x40384a
call fcn.004134c4
mov ebx, edi
test ebx, ebx
jl 0x403914
lea ecx, [esi + 0x50]
neg ecx
sbb ecx, ecx
lea eax, [esi + 0x54]
and ecx, eax
push ecx
mov ecx, esi
call fcn.00402506
test eax, eax
jne 0x40386c
mov ebx, edi
test ebx, ebx
jl 0x403914
lea ecx, [esi + 0x54]
call fcn.0040c304
test eax, eax
jne 0x403887
call fcn.004134c4
mov ebx, edi
test ebx, ebx
jl 0x403914
push 2
push 8
call dword [sym.imp.MSO.DLL_Ordinal_16]
test eax, eax
pop ecx
pop ecx
je 0x4038a8
mov ecx, eax
call fcn.00412333
jmp 0x4038aa
xor eax, eax
test eax, eax
mov dword [esi + 0x130], eax
jne 0x4038c0
call fcn.00412fc8
mov ebx, 0x8007000e
jmp 0x403914
mov ecx, eax
call fcn.004122b6
mov edx, dword [esi + 0x130]
push dword [edx + 4]
mov eax, dword [esi + 0x138]
push dword [esi + 0x12c]
mov ecx, dword [eax]
push dword [esi + 0x48]
push eax
call dword [ecx + 0x10]
push dword [esi + 0x10]
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [esi + 8]
push 0x68
push eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
test eax, eax
mov dword [esi + 0x1c], eax
jne 0x403914
call fcn.004134c4
mov ebx, edi
call dword [sym.imp.MSO.DLL_Ordinal_337]
test ebx, ebx
jl 0x403923
call fcn.00412b73
cmp dword [esi + 0x7c], 0
je 0x40392e
mov ebx, 0x80004004
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
test ebx, ebx
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
setge al
pop ebx
call fcn.00413c99
leave
ret 0x10