Function at 0x439e90
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
jmp 0x439eee
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA_1]
test byte [ebp - 0x18], 1
je 0x439f19
mov eax, dword [ebp - 0x14]
and eax, 0xffff
mov dword [ebp + 0x14], eax
jmp 0x439f20
mov dword [ebp + 0x14], 0xa
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA_1]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineA_1]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4c], eax
mov word [0x43f1b8], 0
mov word [0x442d32], 0
cmp dword [ebp + 0xc], 0
jne 0x439f74
mov ecx, dword [ebp + 8]
call fcn.0043ae00
test eax, eax
jne 0x439f74
xor eax, eax
jmp 0x43a350
push 0x104
push 0x442b60
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA_1]
test eax, eax
jne 0x439f97
xor eax, eax
jmp 0x43a350
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
call fcn.0043ae50
test eax, eax
jne 0x439fc5
push 0
push 0x43f0b8
push 0x43f304
push 0
call dword [sym.imp.USER32.dll_MessageBoxA_1]
xor eax, eax
jmp 0x43a350
mov dword [ebp - 0x50], 1
mov eax, dword [ebp + 0x10]
mov dword [0x442ac0], eax
mov edx, 0x442b40
lea ecx, [0x442aa1]
call fcn.0043cbc0
call fcn.0043cbf0
test eax, eax
je 0x43a009
mov word [0x43f1b8], 1
mov dword [0x43f168], 1
jmp 0x43a2b7
jmp 0x43a01d
mov ecx, 1
call fcn.0043caa0
xor eax, eax
mov ax, word [0x442d32]
test ah, 0xc0
jne 0x43a066
xor eax, eax
mov ax, word [0x442d32]
test ah, 0x10
je 0x43a066
push 0
push 0x8003
push 0x111
mov eax, dword [0x442c80]
push eax
call dword [sym.imp.USER32.dll_SendMessageA_1]
jmp 0x43a06b
call fcn.0043a680
cmp dword [0x43f170], 0
je 0x43a08e
mov ecx, dword [ebp - 0x50]
call fcn.0043ccc0
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
call fcn.0043cd80
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 1
jne 0x43a0bf
xor eax, eax
mov ax, word [0x43f1b8]
test eax, eax
je 0x43a0bf
xor eax, eax
mov ax, word [0x442a9f]
test eax, eax
je 0x43a0bf
dec word [0x442a9f]
cmp dword [ebp - 0x50], 1
jne 0x43a1d5
xor eax, eax
mov ax, word [0x43f1b8]
test eax, eax
je 0x43a1d5
xor eax, eax
mov ax, word [0x43f17c]
test al, 2
jne 0x43a107
cmp dword [0x43f178], 0
je 0x43a107
xor eax, eax
mov ax, word [0x43f17c]
or eax, 2
mov word [0x43f17c], ax
xor eax, eax
mov ax, word [0x43f17c]
test al, 2
je 0x43a146
call fcn.0043d250
mov word [0x43f1b8], ax
xor eax, eax
mov ax, word [0x43f1b8]
test eax, eax
jne 0x43a146
push 0
push 0x43f0b8
push 0x43f2dc
push 0
call dword [sym.imp.USER32.dll_MessageBoxA_1]
xor eax, eax
mov ax, word [0x43f17c]
test al, 1
jne 0x43a1d5
cmp dword [0x43f174], 0
je 0x43a198
movsx eax, word [0x442ab1]
test eax, eax
jl 0x43a198
movsx eax, word [0x442ab1]
shl eax, 2
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov ecx, dword [0x442d3c]
xor edx, edx
mov dx, word [eax + ecx + 0x28]
test dl, 8
jne 0x43a1c4
cmp dword [0x43f174], 0
je 0x43a1d5
movsx eax, word [0x442ab1]
test eax, eax
jge 0x43a1d5
xor eax, eax
mov ax, word [0x442d44]
test al, 8
je 0x43a1d5
xor eax, eax
mov ax, word [0x43f17c]
or eax, 1
mov word [0x43f17c], ax
xor eax, eax
mov ax, word [0x43f17c]
test eax, eax
je 0x43a2b7
cmp dword [ebp - 0x50], 1
jne 0x43a2b7
xor eax, eax
mov ax, word [0x43f1b8]
test eax, eax
je 0x43a2b7
lea eax, [ebp - 0x64]
push eax
mov edx, 0x442c70
lea ecx, [0x442aa1]
call fcn.0043db50
mov ecx, 0x442a40
add ecx, 0x61
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.0043c640
test eax, eax
jne 0x43a24d
mov edx, 0x43f2d4
mov ecx, 0x43f2b8
call fcn.0043d600
mov edx, 0x442b40
lea ecx, [0x442aa1]
call fcn.0043cbc0
mov ecx, dword [ebp + 0x10]
call fcn.0043d100
test eax, eax
je 0x43a295
call fcn.0043d080
mov dword [ebp - 0x50], eax
push 0
push 0
push 0x10
mov eax, dword [0x442c80]
push eax
call dword [sym.imp.USER32.dll_SendMessageA_1]
mov word [0x43f1b8], 0
jmp 0x43a2b7
mov dword [ebp - 0x50], 0
mov word [0x43f1b8], 0
push 0
push 0
push 0x10
mov eax, dword [0x442c80]
push eax
call dword [sym.imp.USER32.dll_SendMessageA_1]
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x54]
call fcn.0043a3d0
mov dword [ebp - 0x48], eax
push 0
push 0
push 0x10
mov eax, dword [0x442c80]
push eax
call dword [sym.imp.USER32.dll_SendMessageA_1]
cmp dword [0x43f180], 2
je 0x43a32c
cmp dword [ebp - 0x50], 1
jne 0x43a32c
xor eax, eax
mov ax, word [0x43f1b8]
test eax, eax
je 0x43a32c
mov eax, dword [ebp + 8]
push eax
push 0x43f1a8
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov ax, word [0x43f1bc]
test eax, eax
je 0x43a32c
mov eax, dword [ebp - 0x4c]
push eax
lea edx, [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
call fcn.0043a360
cmp dword [ebp - 0x54], 0
je 0x43a33e
mov ecx, dword [ebp - 0x54]
call fcn.0043d5f0
mov eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess_1]
pop edi
pop esi
pop ebx
leave
ret 0x10