Function at 0x407278
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
call fcn.00423293
mov esi, eax
call fcn.00423a2f
xor ebx, ebx
push 4
mov edi, eax
mov byte [ebp - 2], bl
call fcn.00404dea
cmp edi, esi
pop ecx
jbe 0x4072aa
add eax, esi
cmp edi, eax
jae 0x4072aa
mov byte [ebp - 2], 1
movsx eax, word [0x43ac8a]
push eax
push 0x33dfffff
call fcn.0040b087
add word [0x43ac90], ax
xor eax, eax
cmp byte [0x43ac7b], bl
pop ecx
pop ecx
setne al
add dword [0x43acb8], eax
inc byte [0x43ac78]
cmp dword [0x43ab6c], ebx
jne 0x407758
cmp byte [0x43a0c0], bl
jne 0x4072f5
call fcn.0042f62c
movsx eax, byte [0x43ac7b]
push eax
push 0xb2dbffff
mov byte [0x43a0c0], bl
call fcn.0040afcb
movsx ecx, word [0x43ac8a]
mov byte [0x43ac7f], al
push ecx
movsx eax, al
push eax
call fcn.0040afcb
mov dword [0x43ac9c], eax
call fcn.00422dbf
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
movsx eax, byte [0x43ac7e]
push eax
push 0x385fffff
call fcn.0040af32
push ebx
mov word [0x43ac82], ax
call fcn.00404dea
push 1
mov esi, eax
call fcn.00404dea
mov edi, eax
mov al, byte [0x43ac92]
dec al
push 2
mov byte [0x43ac7b], al
call fcn.00404dea
add esp, 0x24
cmp dword [0x43ac9c], ebx
mov dword [ebp - 0x18], eax
je 0x40738e
cmp byte [0x43ac7c], bl
mov word [0x43ac8e], 1
jne 0x407395
mov word [0x43ac8e], bx
push 3
call fcn.00404dea
mov dword [ebp - 0x1c], eax
push 0xe2afffff
movsx eax, word [0x43ac8a]
push eax
call fcn.0040af6d
add esp, 0xc
inc word [0x43ac90]
cmp dword [ebp - 8], esi
mov word [0x43ac82], ax
ja 0x4074c7
jb 0x4073d5
cmp dword [ebp - 0xc], edi
jae 0x4074c7
movsx eax, byte [0x43ac79]
imul eax, eax, 0x9ed3ffff
add dword [0x43aca4], eax
sub edi, dword [ebp - 0xc]
push 0x19dbffff
push 0xe1fffff
sbb esi, dword [ebp - 8]
xor eax, eax
cmp word [0x43ac86], bx
setne al
mov dword [0x43acb0], eax
mov ax, word [0x43ac88]
dec ax
add word [0x43ac82], ax
call fcn.0040b002
pop ecx
add byte [0x43ac7e], al
pop ecx
push ebx
push 0x989680
push esi
push edi
call fcn.00430930
mov esi, eax
mov ax, word [0x43ac9c]
add word [0x43ac8a], ax
xor eax, eax
cmp byte [0x43ac7a], bl
mov edi, edx
setne al
add dword [0x43acac], eax
movsx eax, byte [0x43ac7b]
push eax
push 0xc69fffff
call fcn.0040af32
pop ecx
cmp edi, ebx
pop ecx
mov byte [0x43ac78], al
ja 0x4074c7
jb 0x40747b
cmp esi, 0x15180
jae 0x4074c7
movsx eax, byte [0x43ac7c]
push eax
push dword [0x43aca8]
call fcn.0040b002
imul esi, esi, 0x3e8
add word [0x43ac8c], ax
pop ecx
pop ecx
push esi
push 0x59
call fcn.0040f588
pop ecx
call eax
push 0x36e1ffff
push dword [0x43acbc]
call fcn.0040aeeb
add word [0x43ac90], ax
dec byte [0x43ac80]
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
inc byte [0x43ac7c]
mov ecx, dword [ebp - 0x18]
dec word [0x43ac8a]
mov edx, eax
mov byte [ebp - 1], bl
or edx, ecx
mov edi, 0x2a69c000
mov esi, 0xc9
jne 0x407571
call fcn.00422dbf
add eax, edi
mov dword [ebp - 0x1c], eax
movsx eax, byte [0x43ac7d]
push eax
movsx eax, byte [0x43ac7c]
adc edx, esi
push eax
mov dword [ebp - 0x18], edx
call fcn.0040b0f0
add word [0x43ac84], ax
dec byte [0x43ac81]
movsx eax, word [0x43ac82]
push eax
movsx eax, word [0x43ac90]
push eax
call fcn.0040afcb
push dword [ebp - 0x18]
mov word [0x43ac92], ax
push 2
call fcn.00404e8f
mov ax, word [0x43acbc]
push dword [ebp - 0x1c]
sub word [0x43ac94], ax
mov al, byte [0x43ac80]
add byte [0x43ac81], al
push 3
call fcn.00404e8f
add esp, 0x20
jmp 0x407608
cmp dword [ebp - 8], ecx
jb 0x407586
ja 0x40757d
cmp dword [ebp - 0xc], eax
jbe 0x407586
mov byte [ebp - 1], 1
jmp 0x407608
call dword [sym.imp.USER32.dll_GetForegroundWindow]
add dword [0x43aca8], eax
or word [0x43ac8e], 0xffff
push 0x6a63ffff
push 0xbd87ffff
call fcn.0040af32
pop ecx
mov word [0x43ac8a], ax
mov eax, dword [ebp - 0x1c]
pop ecx
sub eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
push ebx
push 0x989680
sbb ecx, dword [ebp - 8]
push ecx
push eax
call fcn.00430930
cmp edx, ebx
ja 0x4075d5
cmp eax, 0x15180
jbe 0x4075d9
mov byte [ebp - 1], 1
mov eax, dword [0x43aca8]
push 0x8c6fffff
and eax, 0xc7fdffff
mov dword [0x43acbc], eax
movsx eax, byte [0x43ac81]
push eax
call fcn.0040af32
dec byte [0x43ac79]
pop ecx
pop ecx
mov word [0x43ac8e], ax
movsx ax, byte [0x43ac7c]
push dword [0x43acb0]
dec eax
add word [0x43ac82], ax
movsx eax, byte [0x43ac81]
push eax
call fcn.0040b0f0
add word [0x43ac8c], ax
cmp byte [ebp - 1], bl
pop ecx
pop ecx
je 0x40771b
mov al, byte [0x43ac7b]
push 1
neg al
mov dword [0x43ac98], 0x1925ffff
mov byte [0x43ac7f], al
call fcn.0040590d
movsx eax, byte [0x43ac81]
dec byte [0x43ac80]
push eax
push dword [0x43acac]
call fcn.0040b002
push 0x5b9fffff
push 0x343bffff
mov dword [0x43ac98], eax
call fcn.0040af94
add word [0x43ac8c], ax
call fcn.00422dbf
mov cx, word [0x43ac84]
push dword [0x43acac]
add eax, edi
adc edx, esi
mov esi, eax
movsx ax, byte [0x43ac79]
sub cx, ax
push 0x8447ffff
add word [0x43ac86], cx
mov edi, edx
call fcn.0040b002
push edi
push 2
mov dword [0x43acb8], eax
call fcn.00404e8f
or byte [0x43ac79], 0xff
push esi
push 3
call fcn.00404e8f
movsx eax, byte [0x43ac7c]
and eax, 0x4c8fffff
push 0x4ffbffff
add dword [0x43aca4], eax
xor eax, eax
cmp dword [0x43ac9c], ebx
push 0x8319ffff
setne al
add dword [0x43acb8], eax
call fcn.0040b087
add esp, 0x34
add byte [0x43ac80], al
add dword [0x43acb0], 0x4a61ffff
push 0x8a5fffff
push 0x866fffff
call fcn.0040aeeb
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineA]
pop ecx
pop ecx
mov word [0x43ac8c], ax
call esi
push ebx
mov dword [0x43acb8], eax
call fcn.0040590d
pop ecx
call esi
mov word [0x43ac82], ax
mov al, byte [0x43ac90]
or word [0x43ac8c], 0xffff
and al, byte [0x43ac7e]
add byte [0x43ac7a], al
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [0x43ab6c], ebx
mov byte [0x43ac81], al
jne 0x40778b
xor al, al
jmp 0x40798a
movsx eax, word [0x43ac88]
push 0x9a9bffff
push eax
call fcn.0040b0f0
pop ecx
mov dword [0x43acb4], eax
pop ecx
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, 0x43ab44
lea edi, [ebp - 0x14]
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 - 0x14]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea ecx, [ebp - 0x24]
mov byte [0x43ac7e], al
movsd dword es:[edi], dword [esi]
call fcn.0040a578
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x10]
cmp byte [ebp - 2], bl
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
mov dword [ecx], eax
jne 0x40787b
mov esi, 0x43ab44
lea edi, [ebp - 0x14]
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 - 0x14]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea ecx, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
call fcn.0040a578
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [ebp + 8]
push dword [eax]
mov eax, dword [ebp - 0x1c]
push ebx
push dword [eax]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov esi, 0x43ab44
lea edi, [ebp - 0x14]
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 - 0x14]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea ecx, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
call fcn.0040a578
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [ebp + 0xc]
push dword [eax]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
push ebx
add eax, 0x10
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov esi, 0x43ab44
lea edi, [ebp - 0x14]
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 - 0x14]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea ecx, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
call fcn.0040a578
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [ecx], eax
movsx eax, word [0x43ac8c]
push eax
push 0xbb9ffff
call fcn.0040af94
add word [0x43ac8c], ax
movsx ax, byte [0x43ac7b]
add eax, dword [0x43aca4]
add word [0x43ac82], ax
movsx eax, word [0x43ac88]
push eax
push 0xd6f5ffff
call fcn.0040b0ac
add dword [0x43acac], eax
push 0x5309ffff
push 0xc89ffff
call fcn.0040b002
mov esi, 0x43ab44
lea edi, [ebp - 0x14]
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 - 0x14]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0x18
lea ecx, [ebp - 0x24]
mov dword [0x43aca0], eax
push ebx
movsd dword es:[edi], dword [esi]
call fcn.0040a578
mov eax, dword [ebp - 0x1c]
mov dword [eax], ebx
call fcn.00422dbf
mov edi, eax
mov eax, dword [ebp + 0x10]
push ebx
push 0x989680
push ebx
mov dword [ebp - 0x18], edx
push dword [eax]
call fcn.004308f0
mov esi, eax
movsx eax, byte [0x43ac80]
add esi, edi
adc edx, dword [ebp - 0x18]
and eax, dword [0x43ac9c]
add dword [0x43acbc], eax
push edx
push ebx
call fcn.00404e8f
push esi
push 1
call fcn.00404e8f
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x5859ffff
push 0xe24dffff
mov byte [0x43ac7b], al
call fcn.0040b0f0
add dword [0x43ac9c], eax
pop ecx
pop ecx
mov ecx, 0x43ab40
call fcn.00409878
movsx eax, byte [0x43ac80]
push eax
push 0x2807ffff
call fcn.0040af32
pop ecx
mov dword [0x43acb4], eax
pop ecx
mov al, 1
pop edi
pop esi
pop ebx
leave
ret