Function at 0x4055a1
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x42f4d2
call fcn.0042e9c0
sub esp, 0x38
movsx eax, byte [0x438c1b]
push ebx
push esi
push edi
push eax
movsx eax, byte [0x438c20]
push eax
call fcn.0040aa4f
push 0x8f61ffff
push 0x7ebdffff
mov dword [0x438c4c], eax
call fcn.0040aa4f
add dword [0x438c38], eax
push 0x887bffff
push 0x9831ffff
call fcn.0040a9a5
mov edi, dword [ebp + 8]
add word [0x438c2c], ax
xor ebx, ebx
add esp, 0x18
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x4063b8
movsx eax, word [0x438c30]
add byte [0x438c18], 0xfe
push eax
push 0xa787ffff
call fcn.0040a9a5
pop ecx
mov word [0x438c30], ax
pop ecx
push ebx
push ebx
push 0x1b
call fcn.0040ebd2
pop ecx
call eax
mov dword [ebp - 0x20], eax
movsx eax, byte [0x438c1f]
push eax
push 0xc565ffff
mov dword [ebp - 4], ebx
call fcn.0040aa83
add dword [0x438c5c], eax
push ebx
pop eax
push dword [0x438c58]
setne al
add word [0x438c30], ax
movsx eax, byte [0x438c1c]
push eax
call fcn.0040a933
mov dword [0x438c54], eax
mov dword [ebp - 0x18], ebx
movsx eax, word [0x438c24]
push eax
mov byte [ebp - 4], 1
movsx eax, word [0x438c22]
push eax
call fcn.0040a933
mov esi, dword [0x432d0c]
mov dword [0x438c38], eax
add esp, 0x18
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push 0x17
push ebx
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040966e
mov esi, eax
mov al, byte [0x438c21]
movsx cx, al
dec ecx
add word [0x438c2e], cx
movsx ecx, byte [0x438c19]
movsx eax, al
push ecx
push eax
call fcn.0040aa4f
add word [0x438c2e], ax
pop ecx
cmp esi, ebx
pop ecx
jl 0x406377
push 0x8dffffff
push 0x82b1ffff
call fcn.0040aa83
add byte [0x438c19], 0xfe
push 0x5b0fffff
push 0xa26fffff
mov dword [0x438c5c], eax
call fcn.0040aac5
mov word [0x438c26], ax
movsx eax, word [0x438c2e]
push eax
push 0xdd39ffff
call fcn.0040aac5
mov byte [0x438c21], al
add esp, 0x18
movsx eax, byte [0x438c19]
and eax, 0xdd87ffff
mov ecx, edi
mov dword [0x438c54], eax
movsx ax, byte [0x438c1b]
dec eax
mov word [0x438c2c], ax
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.004095b0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.0042e8fe
mov ecx, eax
call fcn.00408ff6
mov esi, eax
movsx eax, word [0x438c24]
push eax
push 0x7fd1ffff
call fcn.0040a8f9
add dword [0x438c4c], eax
pop ecx
cmp si, bx
pop ecx
je 0x406377
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, dword [0x432d10]
mov byte [0x438c1f], al
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 1
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
movsx eax, word [0x438c2a]
and eax, 0x13c5ffff
push 0xc2e7ffff
mov dword [0x438c54], eax
mov byte [ebp - 4], 4
movsx eax, word [0x438c26]
push eax
call fcn.0040aa83
push dword [0x438c5c]
mov dword [0x438c4c], eax
push 0xa3c3ffff
call fcn.0040aa18
add byte [0x438c1d], al
add esp, 0x10
cmp dword [ebp - 0x10], ebx
je 0x406373
push 0x25dbffff
push 0x2663ffff
call fcn.0040aa83
mov esi, dword [0x432d04]
mov byte [0x438c18], al
pop ecx
mov al, byte [esi]
pop ecx
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004095b0
lea eax, [ebp + 8]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 4
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
mov ecx, dword [ebp + 8]
mov eax, 0x6c31ffff
sub eax, dword [0x438c44]
mov byte [ebp - 4], 6
add dword [0x438c48], eax
inc byte [0x438c1d]
cmp ecx, ebx
je 0x405988
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e8f
mov ecx, dword [eax]
mov byte [ebp - 4], 7
cmp ecx, ebx
je 0x4058ec
call fcn.00409796
mov esi, eax
jmp 0x4058ee
xor esi, esi
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x34]
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_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 9
cmp ecx, ebx
je 0x405923
call fcn.00409769
mov dword [ebp - 0x1c], ebx
push 0x92fbffff
push 0xe8f3ffff
call fcn.0040a9de
mov word [0x438c2a], ax
lea eax, [ebp - 0x34]
push eax
push ebx
call fcn.00404b85
push dword [0x438c44]
mov byte [0x438c1d], 1
push dword [0x438c4c]
call fcn.0040a9de
add word [0x438c26], ax
push 0x4667ffff
push 0xa439ffff
call fcn.0040ab0e
add esp, 0x20
lea ecx, [ebp - 0x34]
mov word [0x438c2c], ax
mov byte [ebp - 4], 6
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx eax, byte [0x438c21]
inc dword [0x438c58]
mov edi, 0x4101ffff
add dword [0x438c50], edi
push 0x895bffff
push eax
call fcn.0040aa18
mov esi, dword [0x432d14]
add word [0x438c22], ax
pop ecx
mov al, byte [esi]
pop ecx
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
push dword [eax]
lea ecx, [ebp + 8]
call fcn.00409ae8
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x405a0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x1cf1ffff
push 0xbf61ffff
call fcn.0040ab0e
push 0x7609ffff
push eax
mov dword [0x438c40], eax
call fcn.0040aa4f
add dword [0x438c48], eax
movsx eax, byte [0x438c1f]
push eax
push dword [0x438c44]
call fcn.0040a9de
add esp, 0x18
cmp dword [ebp + 8], ebx
mov dword [0x438c40], eax
je 0x405a8a
dec word [0x438c32]
push 0xba59ffff
call dword [sym.imp.USER32.dll_IsMenu]
add word [0x438c24], ax
call fcn.0042d8b8
movsx eax, word [0x438c2e]
push eax
push 0x615bffff
call fcn.0040a933
pop ecx
mov dword [0x438c40], eax
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push dword [0x438c58]
mov dword [0x438c38], eax
movsx eax, word [0x438c22]
push eax
call fcn.0040ab0e
add word [0x438c2e], ax
mov esi, dword [0x432d08]
xor eax, eax
cmp dword [0x438c4c], ebx
pop ecx
setne al
mov dword [0x438c5c], eax
mov al, byte [esi]
sub al, 3
pop ecx
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
push dword [eax]
lea ecx, [ebp + 8]
call fcn.00409ae8
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x405b1b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, byte [0x438c21]
push 0xf059ffff
push eax
call fcn.0040a8f9
add byte [0x438c18], al
cmp dword [ebp + 8], ebx
pop ecx
pop ecx
je 0x405c1c
call dword [sym.imp.USER32.dll_GetActiveWindow]
add byte [0x438c1d], al
push 0xe61dffff
movsx eax, word [0x438c2a]
push eax
call fcn.0040aa83
cmp dword [ebp + 8], ebx
pop ecx
pop ecx
mov byte [0x438c20], al
jne 0x405b72
push 0x80004003
call fcn.0042ee50
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e8f
mov ecx, dword [eax]
mov byte [ebp - 4], 0xc
cmp ecx, ebx
je 0x405b91
call fcn.00409796
mov esi, eax
jmp 0x405b93
xor esi, esi
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x34]
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_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0xe
cmp ecx, ebx
je 0x405bc8
call fcn.00409769
mov dword [ebp - 0x1c], ebx
movsx eax, word [0x438c24]
push dword [0x438c4c]
push eax
call fcn.0040aa83
add word [0x438c32], ax
movsx eax, word [0x438c30]
and eax, dword [0x438c3c]
add dword [0x438c48], eax
lea eax, [ebp - 0x34]
push eax
push 1
call fcn.00404b85
mov al, byte [0x438c2a]
add esp, 0x10
lea ecx, [ebp - 0x34]
mov byte [0x438c1c], al
push 1
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push dword [0x438c44]
push 0x7639ffff
call fcn.0040a96f
add dword [0x438c4c], eax
mov esi, dword [0x432d18]
movsx ax, byte [0x438c21]
and eax, dword [0x438c38]
pop ecx
pop ecx
add word [0x438c28], ax
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
mov eax, dword [eax]
mov esi, dword [ebp + 8]
cmp esi, eax
mov byte [ebp - 4], 0x10
je 0x405cae
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00409b13
cmp esi, ebx
je 0x405cae
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x405cbf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, word [0x438c2e]
push 0x8de5ffff
push eax
call fcn.0040a9a5
mov byte [0x438c1c], al
xor eax, eax
cmp word [0x438c2a], bx
pop ecx
pop ecx
setne al
add dword [0x438c50], eax
mov al, byte [0x438c48]
sub byte [0x438c18], al
cmp dword [ebp + 8], ebx
je 0x405e62
movsx eax, word [0x438c28]
push eax
push dword [0x438c58]
call fcn.0040a9de
add dword [0x438c40], eax
movsx eax, word [0x438c24]
movsx ecx, byte [0x438c1f]
sub ecx, eax
lea eax, [ebp - 0x44]
add dword [0x438c4c], ecx
push eax
call fcn.00420af4
movsx eax, byte [0x438c1d]
push eax
mov byte [ebp - 4], 0x11
push dword [0x438c50]
call fcn.0040ab0e
add word [0x438c22], ax
mov al, byte [ebp + 0xb]
add esp, 0x14
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
push ebx
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx eax, word [0x438c26]
push edi
push 0x6221ffff
push eax
mov byte [ebp - 4], 0x12
call dword [sym.imp.KERNEL32.dll_MulDiv]
add byte [0x438c1f], al
mov ax, word [0x438c5c]
add ax, word [0x438c28]
mov byte [0x438c21], 1
mov word [0x438c2a], ax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004066ef
add esp, 0xc
test al, al
je 0x405e1e
movsx eax, byte [0x438c1d]
movsx ecx, word [0x438c2a]
and eax, ecx
mov byte [0x438c19], bl
mov dword [0x438c5c], eax
movsx ax, byte [0x438c18]
add eax, dword [0x438c4c]
add word [0x438c22], ax
lea eax, [ebp - 0x34]
push eax
call fcn.0042d536
movsx eax, byte [0x438c1d]
movsx ecx, word [0x438c2e]
sub eax, ecx
mov dword [esp], 0x2207ffff
push 0x51bbffff
mov dword [0x438c38], eax
call fcn.0040aac5
add byte [0x438c1d], al
pop ecx
pop ecx
movsx eax, word [0x438c2e]
push eax
push 0xc32fffff
call fcn.0040aa83
pop ecx
mov dword [0x438c38], eax
mov eax, dword [0x438c50]
pop ecx
neg eax
push 1
lea ecx, [ebp - 0x34]
mov word [0x438c26], ax
mov byte [ebp - 4], 0x11
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x432d1c]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
mov eax, dword [eax]
mov esi, dword [ebp + 8]
cmp esi, eax
mov byte [ebp - 4], 0x14
je 0x405ec7
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00409b13
cmp esi, ebx
je 0x405ec7
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x405ed8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x438c44]
push 0x999ffff
call fcn.0040ab0e
push 0x4c15ffff
push 0xa565ffff
mov word [0x438c22], ax
call fcn.0040a933
mov ecx, dword [ebp + 8]
add esp, 0x10
cmp ecx, ebx
mov dword [0x438c4c], eax
mov dword [0x438c44], 0xf7f7ffff
je 0x405ff6
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e55
mov ecx, dword [eax]
mov byte [ebp - 4], 0x15
cmp ecx, ebx
je 0x405f36
call fcn.00409796
mov esi, eax
jmp 0x405f38
xor esi, esi
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x34]
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_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x17
cmp ecx, ebx
je 0x405f6d
call fcn.00409769
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
add byte [0x438c21], al
lea eax, [ebp - 0x34]
push eax
call fcn.00405275
mov esi, eax
mov al, byte [0x438c22]
or al, byte [0x438c3c]
add byte [0x438c1f], al
movsx eax, byte [0x438c20]
push eax
movsx eax, word [0x438c34]
push eax
call fcn.0040ab0e
add dword [0x438c54], eax
push esi
push 4
call fcn.004048a2
mov al, byte [0x438c48]
or word [0x438c22], 0xffff
dec al
push 0x9d59ffff
add byte [0x438c1b], al
movsx eax, byte [0x438c18]
push eax
call fcn.0040aa83
add esp, 0x1c
lea ecx, [ebp - 0x34]
mov byte [0x438c1c], al
mov byte [ebp - 4], 6
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x432d20]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
mov eax, dword [eax]
mov esi, dword [ebp + 8]
cmp esi, eax
mov byte [ebp - 4], 0x19
je 0x40605b
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00409b13
cmp esi, ebx
je 0x40605b
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x40606c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x40616f
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e55
mov ecx, dword [eax]
mov byte [ebp - 4], 0x1a
cmp ecx, ebx
je 0x406093
call fcn.00409796
mov esi, eax
jmp 0x406095
xor esi, esi
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x34]
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_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x1c
cmp ecx, ebx
je 0x4060ca
call fcn.00409769
mov dword [ebp - 0x1c], ebx
movsx ax, byte [0x438c18]
or ecx, 0xffffffff
sub ecx, eax
mov word [0x438c2a], cx
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov byte [0x438c18], al
lea eax, [ebp - 0x34]
push eax
call fcn.00405275
mov dword [esp], 0x1533ffff
push 0xbffffff
mov esi, eax
call fcn.0040a96f
push dword [0x438c48]
add byte [0x438c1d], al
push 0x7cebffff
call fcn.0040a8f9
add word [0x438c2a], ax
push esi
push 7
call fcn.004048a2
movsx eax, byte [0x438c19]
push eax
push 0xe647ffff
call fcn.0040a8f9
add byte [0x438c1b], al
add esp, 0x20
push 0x91c3ffff
call dword [sym.imp.USER32.dll_IsMenu]
mov dword [0x438c54], eax
mov al, byte [0x438c2a]
sub byte [0x438c19], al
push 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov al, byte [0x438c1a]
mov esi, dword [0x432d24]
or al, byte [0x438c1f]
movsx ax, al
add word [0x438c22], ax
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.004095b0
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.0042e8fe
mov ecx, eax
call fcn.00408ecc
movsx eax, byte [0x438c1c]
push eax
push 0x724bffff
mov byte [ebp - 4], 0x1e
call fcn.0040a9de
add dword [0x438c38], eax
cmp dword [ebp - 0x14], ebx
pop ecx
pop ecx
je 0x4062fa
push 5
call fcn.0040481f
inc eax
push eax
push 5
call fcn.004048a2
add esp, 0xc
cmp dword [ebp - 0x14], ebx
mov word [0x438c32], 1
jne 0x40621a
push 0x80004003
call fcn.0042ee50
mov ecx, dword [ebp - 0x14]
call fcn.00408fcf
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [0x438c54], eax
sub dword [0x438c3c], 0x5c860001
xor esi, esi
cmp edi, ebx
mov byte [0x438c1f], 1
jle 0x4062fa
movsx eax, word [0x438c26]
push dword [0x438c5c]
push eax
call fcn.0040aac5
add dword [0x438c40], eax
movsx eax, byte [0x438c20]
push eax
push 0x1ea9ffff
call fcn.0040aa83
add byte [0x438c1b], al
add esp, 0x10
cmp dword [ebp - 0x14], ebx
mov dword [0x438c54], 1
jne 0x406298
push 0x80004003
call fcn.0042ee50
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00408f9a
mov eax, dword [0x438c44]
mov ecx, dword [0x438c50]
mov byte [ebp - 4], 0x1f
lea eax, [eax + ecx - 0x28180001]
mov dword [0x438c44], eax
mov al, byte [0x438c32]
or al, byte [0x438c1e]
add byte [0x438c18], al
cmp dword [ebp - 0x1c], ebx
je 0x4062e0
lea eax, [ebp - 0x1c]
push eax
call fcn.00407dcf
pop ecx
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x1e
cmp eax, ebx
je 0x4062f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc esi
cmp esi, edi
jl 0x40624b
movsx eax, byte [0x438c1b]
push dword [0x438c54]
push eax
call fcn.0040aa18
add byte [0x438c1b], al
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 6
je 0x406326
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x406337
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x406348
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x406358
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], 0x80010106
je 0x40636f
push 0x1c
call fcn.0040ebd2
pop ecx
call eax
mov al, 1
jmp 0x4063ba
mov byte [ebp - 4], 1
movsx eax, byte [0x438c1e]
push eax
push 0x6d5fffff
call fcn.0040a933
add byte [0x438c21], al
mov eax, dword [ebp - 0x18]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], bl
je 0x4063a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], 0x80010106
je 0x4063b8
push 0x1c
call fcn.0040ebd2
pop ecx
call eax
xor al, al
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x50]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret