Function at 0x404eb0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a651b
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x617e6c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.004491a6
push 0
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.0045baeb
mov edi, eax
mov dword [ebp - 0x118], edi
test edi, edi
je 0x404f98
call fcn.0044e0ae
mov ecx, eax
test ecx, ecx
jne 0x404f1b
push 0x80004005
call fcn.0040c690
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x114], esi
push 0x65
mov dword [ebp - 4], 0
call fcn.0045005b
test eax, eax
je 0x404f4f
push 0x65
push eax
lea ecx, [ebp - 0x114]
call fcn.0040c010
mov esi, dword [ebp - 0x114]
cmp dword [esi - 0xc], 0
je 0x404f79
push 0
push 0
push 0x800
push dword [edi + 4]
mov edi, dword [sym.imp.USER32.dll_AppendMenuA]
call edi
mov eax, dword [ebp - 0x118]
push esi
push 0x10
push 0
push dword [eax + 4]
call edi
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x404f98
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebx + 0xd0]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0x80
push dword [ebx + 0x20]
call edi
push dword [ebx + 0xd0]
push 0
push 0x80
push dword [ebx + 0x20]
call edi
push 0x7a
call fcn.0045005b
test eax, eax
je 0x404fdb
push 0x7a
push eax
lea ecx, [ebx + 0xd4]
call fcn.0040c010
push 0x3f1
mov ecx, ebx
call fcn.00450378
push 1
push 0x2f0b
push 0xf4
push dword [eax + 0x20]
call edi
push str.Console
push 0x20
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x14
lea esi, [ebx + 0xe0]
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
mov ecx, esi
call fcn.0044ece7
test esi, esi
jne 0x405036
xor eax, eax
jmp 0x405039
mov eax, dword [esi + 4]
push 1
push eax
push 0x30
push dword [ebx + 0x110]
call edi
push 0x3eb
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x40505a
xor ecx, ecx
jmp 0x40505d
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3ea
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x40507b
xor ecx, ecx
jmp 0x40507e
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3ed
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x40509c
xor ecx, ecx
jmp 0x40509f
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3ec
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x4050bd
xor ecx, ecx
jmp 0x4050c0
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3ee
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x4050de
xor ecx, ecx
jmp 0x4050e1
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3ef
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x4050ff
xor ecx, ecx
jmp 0x405102
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3e9
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x405120
xor ecx, ecx
jmp 0x405123
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3f0
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x405141
xor ecx, ecx
jmp 0x405144
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x3f1
mov ecx, ebx
call fcn.00450378
test esi, esi
jne 0x405162
xor ecx, ecx
jmp 0x405165
mov ecx, dword [esi + 4]
push 1
push ecx
push 0x30
push dword [eax + 0x20]
call edi
push 0x100
lea eax, [ebp - 0x110]
mov dword [ebx + 0x170], 0xa
push eax
push 0x5ec204
push str.LANG
push str.ACT_TOOLS
mov dword [ebx + 0x178], 0x1388
mov dword [ebx + 0x174], 1
mov dword [ebx + 0x180], 0x1388
mov dword [ebx + 0x17c], 1
call dword [sym.imp.KERNEL32.DLL_GetProfileStringA]
mov ecx, 0x5ec204
lea eax, [ebp - 0x110]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4051f0
test dl, dl
je 0x4051ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4051f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4051d0
xor eax, eax
jmp 0x4051f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405213
push 0x401
mov ecx, ebx
call fcn.00450378
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call edi
mov ecx, 0x5ec21c
lea eax, [ebp - 0x110]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x405240
test dl, dl
je 0x40523c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x405240
add eax, 2
add ecx, 2
test dl, dl
jne 0x405220
xor eax, eax
jmp 0x405245
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405263
push 0x402
mov ecx, ebx
call fcn.00450378
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call edi
mov ecx, 0x5ec220
lea eax, [ebp - 0x110]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x405290
test dl, dl
je 0x40528c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x405290
add eax, 2
add ecx, 2
test dl, dl
jne 0x405270
xor eax, eax
jmp 0x405295
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4052b3
push 0x403
mov ecx, ebx
call fcn.00450378
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call edi
mov ecx, 0x5ec224
lea eax, [ebp - 0x110]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4052e0
test dl, dl
je 0x4052dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4052e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4052c0
xor eax, eax
jmp 0x4052e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405303
push 0x404
mov ecx, ebx
call fcn.00450378
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call edi
mov ecx, 0x5ec228
lea eax, [ebp - 0x110]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x405330
test dl, dl
je 0x40532c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x405330
add eax, 2
add ecx, 2
test dl, dl
jne 0x405310
xor eax, eax
jmp 0x405335
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405353
push 0x407
mov ecx, ebx
call fcn.00450378
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call edi
mov ecx, ebx
call fcn.00406e60
mov ecx, ebx
call fcn.004056a0
push 0
push 0
push ebx
push 0x4040b0
push 0
push 0
mov byte [ebx + 0x2dc], 1
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0057dd8f
mov esp, ebp
pop ebp
ret