Function at 0x404543
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x42fce3
call fcn.0042f2d0
sub esp, 0x7c
mov al, byte [ebp + 0x17]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x68], al
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
push 1
mov dword [ebp - 0x10], ebx
pop esi
push dword [0x43abfc]
mov dword [ebp - 4], esi
push dword [0x43abf8]
call fcn.004118af
mov dword [0x43ac00], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
sub dword [0x43abe8], 0x7b600001
push 0x899dffff
push 0xb573ffff
mov byte [ebp - 4], 3
call fcn.00411738
mov word [0x43abd6], ax
mov eax, dword [ebp + 0xc]
add esp, 0x10
lea edx, [ebp - 0x1c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
push 0xa12dffff
push 0x8f97ffff
mov edi, eax
call fcn.00411706
add word [0x43abd8], ax
pop ecx
cmp edi, ebx
pop ecx
jl 0x40568c
cmp dword [ebp - 0x1c], ebx
je 0x40568c
push 0x5887ffff
push 0x4c8dffff
call fcn.004117b3
mov byte [0x43abce], al
movsx eax, byte [0x43abcb]
push eax
push 0xabb9ffff
call fcn.00411706
add byte [0x43abc9], al
mov eax, dword [ebp - 0x1c]
add esp, 0x10
lea edx, [ebp - 0x2c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x3c]
movsx eax, byte [0x43abcc]
push eax
push 0xf709ffff
call fcn.004116b5
add word [0x43abe2], ax
mov eax, dword [ebp - 0x2c]
pop ecx
cmp eax, ebx
pop ecx
je 0x40499e
mov cl, byte [0x43abd6]
mov dword [ebp - 0x28], ebx
movsx edx, word [0x43abd2]
add edx, dword [0x43abec]
dec cl
mov byte [0x43abd1], cl
movsx ecx, byte [0x43abd0]
add edx, ecx
mov dword [0x43abec], edx
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
mov byte [ebp - 4], 4
call dword [ecx + 0x174]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x28]
call fcn.00408277
mov eax, dword [ebp - 0x10]
inc byte [0x43abc9]
mov byte [0x43abcc], 1
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
add dword [0x43ac0c], eax
cmp dword [ebp - 0x28], ebx
je 0x40498d
mov dword [ebp - 0x24], ebx
push 0xbdb1ffff
push 0x9399ffff
mov byte [ebp - 4], 5
mov dword [0x43abf8], 0x2207ffff
call fcn.00411738
push 0x919bffff
push 0x68a3ffff
mov dword [0x43abe8], eax
mov word [ebp - 0x58], 8
call fcn.00411864
add word [0x43abdc], ax
push 0xffffffffffffffff
push str.base
call fcn.004056e2
add esp, 0x18
lea edx, [ebp - 0x10]
lea esi, [ebp - 0x58]
mov dword [ebp - 0x50], eax
push edx
mov eax, dword [ebp - 0x28]
sub esp, 0x10
mov edi, esp
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
movsx eax, byte [0x43abce]
push eax
mov dword [0x43abf8], 0x3c2fffff
movsx eax, word [0x43abd6]
push eax
call fcn.004117b3
add word [0x43abe4], ax
cmp dword [0x43ac04], ebx
pop ecx
pop ecx
je 0x404776
cmp word [0x43abda], bx
mov word [0x43abe0], 1
jne 0x40477d
mov word [0x43abe0], bx
push dword [ebp - 0x50]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x24]
call fcn.00408277
mov eax, dword [ebp - 0x10]
mov byte [0x43abc8], 1
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [0x43abca]
mov dword [ebp - 0x10], ebx
or al, byte [0x43abcb]
mov byte [0x43abcd], bl
add byte [0x43abce], al
movsx eax, word [0x43abe2]
push eax
push dword [0x43abe8]
call fcn.004118af
mov word [0x43abdc], ax
mov eax, dword [ebp - 0x24]
pop ecx
cmp eax, ebx
pop ecx
je 0x40497c
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push eax
call dword [ecx + 0x24]
cmp byte [0x43abd0], bl
push 0xe265ffff
setne al
mov byte [0x43abce], al
movsx eax, word [0x43abd8]
push eax
call fcn.004117ef
add word [0x43abd4], ax
cmp dword [ebp - 0x30], ebx
pop ecx
pop ecx
jle 0x40497c
mov dword [ebp - 0x14], ebx
push 0x8fbffff
push 0x5207ffff
mov byte [ebp - 4], 6
mov dword [ebp - 0x20], ebx
call fcn.004118af
cmp dword [ebp - 0x30], ebx
pop ecx
pop ecx
mov byte [0x43abc8], al
jle 0x40496b
mov word [ebp - 0x58], 3
mov eax, dword [ebp - 0x20]
push 0x6fdbffff
push dword [0x43ac00]
mov dword [ebp - 0x50], eax
mov eax, 0x1c09ffff
sub eax, dword [0x43abfc]
mov dword [0x43ac08], eax
call fcn.00411775
pop ecx
lea edx, [ebp - 0x10]
pop ecx
lea esi, [ebp - 0x58]
push edx
add dword [0x43abf8], eax
sub esp, 0x10
mov eax, dword [ebp - 0x24]
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x58]
mov edi, esp
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
call fcn.004082a4
movsx eax, byte [0x43abd0]
or eax, 0xe8ffffff
mov dword [0x43ac04], eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
movsx eax, byte [0x43abca]
inc word [0x43abd2]
push eax
movsx eax, word [0x43abe0]
push eax
mov dword [ebp - 0x10], ebx
call fcn.00411775
pop ecx
mov word [0x43abe0], ax
pop ecx
call dword [sym.imp.USER32.dll_GetCursor]
add word [0x43abde], ax
push 0x1f7dffff
push dword [0x43ac0c]
call fcn.0041181a
pop ecx
add dword [0x43abf8], eax
pop ecx
push dword [0x43ac08]
push 0x6f1dffff
push 0x7465ffff
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [0x43ac04], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x40495a
mov ecx, dword [ebp - 0x34]
add dword [0x43ac08], 0x65440000
cmp dword [ecx + 0x24], 1
mov ecx, dword [eax]
jne 0x40494e
push str._blank
jmp 0x404953
push str._self
push eax
call dword [ecx + 0x24]
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x30]
jl 0x40484c
jmp 0x40496e
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x40497c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x40498d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x40499e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, byte [0x43abd0]
imul eax, eax, 0x14dbffff
add dword [0x43ac0c], eax
xor eax, eax
cmp byte [0x43abcf], bl
push 0x8c1fffff
setne al
mov dword [0x43abf0], eax
movsx eax, byte [0x43abc8]
push eax
call fcn.00411864
add word [0x43abda], ax
mov dword [ebp - 0x18], ebx
movsx eax, word [0x43abe4]
push dword [0x43abf8]
mov byte [ebp - 4], 7
push eax
call fcn.00411864
add byte [0x43abcb], al
mov eax, dword [ebp + 0x10]
add esp, 0x10
cmp eax, ebx
jne 0x404a07
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
call dword [ecx + 0x174]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x18]
call fcn.00408277
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], ebx
cmp eax, ebx
je 0x404b9b
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push eax
call dword [ecx + 0x24]
cmp dword [ebp - 0x30], ebx
jle 0x404b9b
mov dword [ebp + 0x10], ebx
mov byte [ebp - 4], 8
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x58], 3
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x10]
push edx
lea esi, [ebp - 0x58]
sub esp, 0x10
mov dword [ebp - 0x50], eax
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x58]
mov edi, esp
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
push dword [ebp - 0x10]
lea ecx, [ebp + 0x10]
call fcn.0040812d
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp + 0x10], ebx
mov dword [ebp - 0x10], ebx
je 0x404ad6
lea ecx, [ebp - 0x40]
call fcn.00427806
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x40]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 9
call dword [ecx + 0x34]
push 0x43a13c
lea ecx, [ebp - 0x40]
call fcn.0042790a
test eax, eax
jne 0x404aea
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00427879
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x30]
jl 0x404a59
jmp 0x404b8a
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x174]
movsx eax, word [0x43abe0]
push eax
movsx eax, byte [0x43abcb]
push eax
call fcn.0041181a
add dword [0x43abe8], eax
inc byte [0x43abc8]
pop ecx
pop ecx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x18]
call fcn.00408277
push 0xe5a9ffff
push 0x7dc5ffff
call fcn.004118af
add word [0x43abe0], ax
push dword [0x43ac04]
movsx eax, word [0x43abd8]
push eax
call fcn.004117ef
mov byte [0x43abcf], al
mov eax, dword [ebp - 0x10]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, word [0x43abd8]
push eax
push 0xe9cbffff
call fcn.00411738
pop ecx
mov dword [0x43abf0], eax
pop ecx
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00427879
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 7
cmp eax, ebx
je 0x404b9b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, byte [0x43abcc]
push eax
movsx eax, byte [0x43abca]
push eax
call fcn.00411738
add dword [0x43ac0c], eax
push 0x6ae9ffff
movsx eax, byte [0x43abd1]
push eax
mov dword [0x43abfc], 0x9975fffe
call fcn.00411906
add esp, 0x10
cmp dword [ebp - 0x18], ebx
mov byte [0x43abd1], al
je 0x405639
push dword [0x43abe8]
push 0x1acbffff
call fcn.00411775
add dword [0x43abfc], eax
push 0xe767ffff
push 0xbdadffff
call fcn.00411864
add dword [0x43abf4], eax
mov dword [ebp - 0x24], ebx
movsx eax, byte [0x43abce]
push eax
mov byte [ebp - 4], 0xa
movsx eax, word [0x43abd6]
push eax
call fcn.004118af
add word [0x43abd8], ax
mov ax, word [0x43abe2]
sub word [0x43abe4], ax
push 0xffffffffffffffff
push 0x43a138
mov word [ebp - 0x58], 8
call fcn.004056e2
mov dword [ebp - 0x50], eax
movsx eax, word [0x43abdc]
push eax
push dword [0x43ac0c]
call fcn.0041181a
push dword [0x43ac00]
mov word [0x43abd8], ax
push 0xb3e7ffff
call fcn.004116b5
add esp, 0x30
lea edx, [ebp - 0x10]
lea esi, [ebp - 0x58]
add byte [0x43abd0], al
push edx
mov eax, dword [ebp - 0x18]
sub esp, 0x10
mov edi, esp
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
push dword [ebp - 0x50]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x24]
mov byte [0x43abca], 1
call fcn.00408277
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
movsx eax, byte [0x43abcc]
dec byte [0x43abd0]
push eax
push dword [0x43abf8]
call fcn.0041181a
mov byte [0x43abcf], al
mov dword [ebp - 0x10], ebx
movsx ax, byte [0x43abce]
mov word [0x43abda], ax
movsx eax, byte [0x43abd1]
push eax
movsx eax, word [0x43abd4]
push eax
call fcn.00411864
mov dword [0x43abf0], eax
mov eax, dword [ebp - 0x24]
add esp, 0x10
cmp eax, ebx
je 0x40560f
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push eax
call dword [ecx + 0x24]
movsx eax, word [0x43abe2]
movsx ecx, byte [0x43abcb]
or eax, ecx
mov dword [0x43ac00], eax
mov ax, word [0x43abdc]
and ax, word [0x43abd6]
add word [0x43abd6], ax
cmp dword [ebp - 0x30], ebx
jle 0x40560f
movsx eax, byte [0x43abd0]
push eax
push eax
call fcn.00411706
mov word [0x43abd8], ax
xor eax, eax
cmp dword [0x43ac0c], ebx
setne al
add byte [0x43abc9], al
mov eax, dword [0x43abf4]
imul eax, dword [0x43abe8]
mov dword [0x43ac04], eax
movsx eax, byte [0x43abc9]
push eax
push 0x39ffff
call fcn.004118af
add dword [0x43ac04], eax
push 0x5861ffff
push 0x4569ffff
call fcn.0041181a
add word [0x43abdc], ax
movsx eax, byte [0x43abc8]
push eax
movsx eax, byte [0x43abd0]
push eax
call fcn.00411864
mov word [0x43abde], ax
movsx eax, word [0x43abe0]
push eax
push 0xd4f7ffff
call fcn.00411775
push 0x5b03ffff
push 0xfc3fffff
mov word [0x43abd2], ax
call fcn.00411906
mov word [0x43abd2], ax
mov word [0x43abd6], 1
movsx eax, byte [0x43abd1]
push eax
push 0x719bffff
call fcn.00411864
add word [0x43abd2], ax
push 0x33edffff
push 0xcfc1ffff
call fcn.00411738
add dword [0x43ac04], eax
add esp, 0x40
mov dword [ebp - 0x14], ebx
movsx eax, word [0x43abda]
push 0x3419ffff
push eax
mov byte [ebp - 4], 0xb
call fcn.00411706
add dword [0x43abf0], eax
push 0x1addffff
push 0xb9b5ffff
call fcn.004117ef
push dword [0x43abec]
mov byte [0x43abcd], al
movsx eax, word [0x43abe2]
push eax
mov dword [ebp - 0x20], ebx
call fcn.004116b5
add dword [0x43abfc], eax
push 0x15c1ffff
push 0xe645ffff
call fcn.00411906
add byte [0x43abcb], al
add esp, 0x20
cmp dword [ebp - 0x30], ebx
jle 0x4055b9
mov word [ebp - 0x78], 3
movsx eax, byte [0x43abce]
push 0xa1afffff
push eax
call fcn.00411775
add dword [0x43abe8], eax
pop ecx
pop ecx
call dword [sym.imp.USER32.dll_GetCapture]
add word [0x43abd8], ax
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x10]
lea esi, [ebp - 0x78]
push edx
mov dword [ebp - 0x70], eax
sub esp, 0x10
mov eax, dword [0x43ac0c]
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x78]
mov edi, esp
movsd dword es:[edi], dword [esi]
and eax, 0x9189ffff
mov word [0x43abe4], 1
add dword [0x43abfc], eax
mov al, byte [0x43abda]
add al, byte [0x43abf0]
movsd dword es:[edi], dword [esi]
mov byte [0x43abcd], al
mov eax, dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
movsx eax, byte [0x43abcf]
push eax
movsx eax, word [0x43abd4]
push eax
call fcn.00411864
pop ecx
mov word [0x43abd6], ax
pop ecx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
call fcn.004082d1
movsx eax, byte [0x43abce]
push eax
push 0x5229ffff
call fcn.00411906
push dword [0x43abf4]
dec word [0x43abd6]
mov word [0x43abd2], ax
push 0xb569ffff
call fcn.00411864
add dword [0x43ac08], eax
mov eax, dword [ebp - 0x10]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x43ac00]
push 0xc0f5ffff
call fcn.00411906
movsx ecx, word [0x43abda]
mov byte [0x43abd0], al
movsx eax, word [0x43abd4]
or eax, ecx
push eax
mov dword [0x43ac00], eax
push dword [0x43ac08]
call fcn.00411706
mov byte [0x43abc8], al
mov ax, word [0x43abd2]
dec ax
mov dword [ebp - 0x10], ebx
mov byte [ebp + 0x13], bl
mov word [0x43abd8], ax
movsx eax, byte [0x43abcf]
push dword [0x43abec]
push eax
call fcn.004118af
add esp, 0x18
mov dword [0x43abf4], eax
call dword [sym.imp.USER32.dll_GetCapture]
add word [0x43abe4], ax
cmp dword [ebp - 0x14], ebx
je 0x4054b3
movsx eax, word [0x43abdc]
push dword [0x43abf4]
push eax
call fcn.00411864
pop ecx
mov byte [0x43abd0], al
pop ecx
mov byte [ebp + 0x13], 1
lea ecx, [ebp - 0x40]
call fcn.00427806
push 0x99ebffff
push 0xd2e1ffff
mov byte [ebp - 4], 0xc
call fcn.004116b5
pop ecx
mov word [0x43abd4], ax
mov eax, dword [ebp - 0x14]
pop ecx
lea edx, [ebp - 0x40]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x4050ec
movsx eax, byte [0x43abc9]
push eax
push 0xc0c5ffff
call fcn.00411706
add byte [0x43abc9], al
mov eax, dword [ebp - 0x34]
pop ecx
cmp dword [eax + 0x24], 1
pop ecx
jne 0x40509a
mov eax, dword [ebp - 0x14]
push str._blank
mov ecx, dword [eax]
jmp 0x4050c4
cmp dword [ebp - 0x40], ebx
je 0x4050c8
push dword [ebp - 0x40]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x4050c8
mov esi, str._self
lea ecx, [ebp - 0x40]
push esi
call fcn.0042790a
test eax, eax
jne 0x4050c8
mov eax, dword [ebp - 0x14]
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov ax, word [0x43abe2]
push 0xea87ffff
dec ax
push 0x4113ffff
mov word [0x43abd6], ax
call fcn.00411738
pop ecx
mov dword [0x43abf0], eax
pop ecx
movsx eax, byte [0x43abd1]
and eax, 0x6e7fffff
lea edx, [ebp - 0x40]
add dword [0x43abfc], eax
mov eax, dword [ebp - 0x14]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
test eax, eax
jl 0x4054a1
movsx eax, word [0x43abd6]
push dword [0x43abf4]
push eax
call fcn.004117ef
push dword [0x43ac0c]
mov dword [0x43ac04], eax
push 0x5827ffff
call fcn.00411738
add esp, 0x10
cmp byte [ebp + 0x14], bl
mov byte [0x43abcc], al
je 0x40517e
mov esi, dword [0x433ea8]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
or edi, 0xffffffff
cmp eax, edi
jne 0x405181
mov byte [ebp + 0x13], bl
jmp 0x405181
or edi, 0xffffffff
push dword [0x43abf4]
push 0x5719ffff
call fcn.00411775
pop ecx
mov byte [0x43abca], al
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, dword [0x433eac]
mov dword [0x43abf8], eax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x4051d4
mov byte [ebp + 0x13], bl
movsx eax, word [0x43abd6]
push 0x7fbffff
push eax
call fcn.00411706
mov esi, dword [0x433eb0]
mov dword [0x43abf4], eax
pop ecx
mov al, byte [esi]
pop ecx
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x40521e
mov byte [ebp + 0x13], bl
cmp byte [0x43abd1], bl
je 0x405238
cmp dword [0x43ac00], ebx
mov dword [0x43abf4], 1
jne 0x40523e
mov dword [0x43abf4], ebx
cmp byte [0x43abcf], bl
jne 0x405253
cmp word [0x43abe0], bx
jne 0x405253
xor eax, eax
jmp 0x405256
push 1
pop eax
mov esi, dword [0x433eb4]
add dword [0x43abec], eax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x40528d
mov byte [ebp + 0x13], bl
cmp byte [0x43abcf], bl
je 0x4052a2
cmp byte [0x43abd1], bl
je 0x4052a2
push 1
pop eax
jmp 0x4052a4
xor eax, eax
mov esi, dword [0x433eb8]
add dword [0x43abec], eax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x4052db
mov byte [ebp + 0x13], bl
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [0x433ebc]
mov word [0x43abd2], ax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x405318
mov byte [ebp + 0x13], bl
movsx eax, byte [0x43abd0]
push eax
push 0xd7b9ffff
call fcn.004116b5
add dword [0x43abec], eax
push 0x5ec3ffff
push dword [0x43abf4]
call fcn.004118af
mov esi, dword [0x433ec0]
mov byte [0x43abc8], al
add esp, 0x10
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x405379
mov byte [ebp + 0x13], bl
mov eax, dword [0x43abfc]
mov esi, dword [0x433ec4]
dec eax
mov word [0x43abe2], 1
mov word [0x43abd2], ax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
push ebx
mov edx, esi
call fcn.0042b788
push eax
lea ecx, [ebp - 0x40]
call fcn.00427d2d
cmp eax, edi
je 0x4053bf
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], bl
je 0x40548a
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], ebx
cmp eax, ebx
je 0x4053e0
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push 0x43a108
push eax
call dword [ecx]
cmp dword [ebp - 0x28], ebx
mov byte [ebp - 4], 0xd
je 0x405479
lea ecx, [ebp - 0x48]
call fcn.00427806
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x48]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0xe
call dword [ecx + 0x34]
test eax, eax
jl 0x40546d
mov esi, dword [0x433ec8]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
mov edx, esi
call fcn.0042b788
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0042c7c6
pop ecx
pop ecx
mov eax, dword [eax + 4]
mov byte [ebp - 4], 0xf
cmp eax, ebx
jne 0x405449
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
lea ecx, [ebp - 0x48]
call fcn.0042790a
push 1
lea ecx, [ebp - 0x88]
mov esi, eax
mov byte [ebp - 4], 0xe
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
cmp esi, ebx
je 0x40546d
mov byte [ebp + 0x13], bl
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call fcn.00427879
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0xc
cmp eax, ebx
je 0x40548a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x43ac04]
push 0x9f0bffff
call fcn.00411864
pop ecx
mov dword [0x43ac0c], eax
pop ecx
inc dword [0x43ac00]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xb
call fcn.00427879
movsx eax, byte [0x43abd1]
push eax
push 0x3a4bffff
call fcn.00411906
cmp byte [ebp + 0x13], bl
pop ecx
pop ecx
mov word [0x43abde], ax
je 0x405593
push 0xd855ffff
push 0x337dffff
call fcn.00411906
add dword [0x43abf4], eax
movsx eax, byte [0x43abd1]
sub dword [0x43abec], eax
movsx eax, word [0x43abd4]
push eax
push 0x713dffff
call fcn.0041181a
mov esi, dword [ebp + 0xc]
add word [0x43abd8], ax
add esp, 0x10
cmp esi, ebx
mov dword [ebp + 0x10], esi
je 0x405524
mov eax, dword [esi]
push esi
call dword [eax + 4]
cmp esi, ebx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x50], esi
je 0x405535
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x11
call fcn.00408266
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 0x10
cmp eax, ebx
je 0x40555c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 0xb
je 0x40556a
mov eax, dword [esi]
push esi
call dword [eax + 8]
movsx eax, byte [0x43abd0]
push eax
mov byte [0x43abca], bl
push dword [0x43abf0]
call fcn.00411906
add word [0x43abdc], ax
pop ecx
pop ecx
mov byte [0x43abce], 1
push 0x661ffff
push 0x82c1ffff
call fcn.004116b5
inc dword [ebp - 0x20]
mov word [0x43abd8], ax
mov eax, dword [ebp - 0x20]
pop ecx
cmp eax, dword [ebp - 0x30]
pop ecx
jl 0x404eb1
or al, 0xff
sub al, byte [0x43abd4]
add byte [0x43abca], al
call dword [sym.imp.USER32.dll_GetFocus]
add word [0x43abde], ax
push 0x4dcbffff
push 0x32b7ffff
call fcn.004117ef
add dword [0x43abe8], eax
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 0xa
je 0x4055fc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov byte [0x43abce], al
shl al, 1
add byte [0x43abcd], al
push dword [0x43abec]
push 0xfeabffff
call fcn.00411906
add word [0x43abd4], ax
mov eax, dword [ebp - 0x24]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 7
je 0x405639
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x43abfc]
push 0x4cdffff
call fcn.00411738
push 0x9ea3ffff
mov byte [0x43abcc], al
push dword [0x43ac08]
call fcn.004117ef
mov ecx, dword [ebp + 8]
add esp, 0x10
mov byte [0x43abce], al
lea eax, [ebp - 0x68]
push eax
call fcn.0040819e
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], 1
cmp eax, ebx
mov byte [ebp - 4], 3
je 0x40569b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x40569b
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x68]
push eax
call fcn.0040819e
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x4056ac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x4056bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], bl
call fcn.00408206
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
lea esp, [ebp - 0x94]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x10