Function at 0x40b870
Capabilities:
Check for time delay via gettickcount
Get common file path
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x433ef3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4ac
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x2bd]
mov byte [esp + 0x2bc], 0
push 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [esp + 0x1a]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x64], ebp
mov byte [esp + 0xa8], 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 1
lea ecx, [esp + 0x2c0]
push 0
push ecx
push 0
mov dword [esp + 0x4d4], 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov edi, 0x43d438
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2bc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
push 5
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0xc4], esp
push 6
push 0x43d430
call fcn.0041ccf6
lea eax, [esp + 0x254]
mov ecx, 0x43e1c8
push eax
call fcn.00424603
mov eax, dword [eax + 4]
test eax, eax
jne 0x40b952
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2bc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24c]
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 edi, 0x43d428
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2bc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebp + 0x50]
mov ecx, ebx
and ecx, 3
cmp eax, 7
rep movsb byte es:[edi], byte [esi]
ja case.default.0x40b9cc
jmp dword [eax*4 + 0x40e234]
lea edx, [esp + 0x2bc]
mov edi, 0x43d418
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d40c
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d400
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d3f4
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d3ec
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d3e0
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d3d4
jmp 0x40ba41
lea edx, [esp + 0x2bc]
mov edi, 0x43d3c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add ebp, 4
lea eax, [esp + 0x2bc]
push eax
mov ecx, ebp
call fcn.00407410
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x259]
mov byte [esp + 0x258], 0
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x2bc]
stosw word es:[edi], ax
push ecx
push 0x43d58c
push 1
mov ecx, 0x43e1c8
stosb byte es:[edi], al
call fcn.0042b946
cmp al, 0x7e
je 0x40bacf
push 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x4c8], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x40e213
mov edi, 0x43e30b
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2bc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x2c0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0xa8]
push ebx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x40bb4f
mov edi, dword [esp + 0xa8]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x2bc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], ebx
mov byte [ebx + eax], 0
lea ecx, [esp + 0x2bc]
push ecx
push 1
mov ecx, 0x43e1c8
call fcn.0042bb80
push 0xc8
call fcn.00401610
add esp, 4
mov ecx, 0x43e0c8
push 0
push 0x707070
push 3
push 0x43e158
push 0x43d574
call fcn.00415779
mov dl, byte [esp + 0x16]
sub esp, 0x10
mov ebx, esp
mov dword [esp + 0xc8], esp
push 0
mov ecx, ebx
mov byte [ebx], dl
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 edi, 0x43d56c
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x7c], ecx
push ecx
mov ecx, ebx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x40bbf2
mov eax, dword [esp + 0x78]
mov edi, dword [ebx + 4]
mov ecx, eax
mov esi, 0x43d56c
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
add eax, ecx
mov byte [eax], 0
lea eax, [esp + 0x2cc]
mov ecx, ebp
push eax
call fcn.00407480
lea ecx, [esp + 0x2bc]
push 0x43d568
push ecx
mov byte [esp + 0x1f], al
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x40bd1c
mov ebx, dword [sym.imp.MSVCRT.dll_fseek]
push 2
push 0
push edi
call ebx
push edi
call dword [sym.imp.MSVCRT.dll_ftell]
push 0
mov esi, eax
push 0
push edi
mov dword [esp + 0x70], esi
call ebx
push esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0x20
mov dword [esp + 0x94], eax
test eax, eax
push edi
jne 0x40bc66
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
jmp 0x40bcb9
mov ebx, dword [sym.imp.MSVCRT.dll_fread]
push esi
push 1
push eax
call ebx
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
mov al, byte [esp + 0x2b]
add esp, 0x14
cmp al, 1
mov byte [esp + 0x16], 0
jne 0x40be6f
push 0
push 0x707070
push 3
push 0x43e158
push 0x43d554
mov ecx, 0x43e0c8
call fcn.00415779
push esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
test edi, edi
jne 0x40bcf9
push 0
push 0x707070
push 1
push 0x43e158
push 0x43d544
mov ecx, 0x43e0c8
call fcn.00415779
push 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x4c8], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
or ax, 0xffff
jmp 0x40e216
lea edx, [esp + 0x2bc]
push 0x43d568
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
test eax, eax
jne 0x40bd5c
push edi
call fcn.004331e6
add esp, 4
push 0
push 0x707070
push 1
push 0x43e158
push 0x43d530
mov ecx, 0x43e0c8
call fcn.00415779
push 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x4c8], 0xffffffff
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 ax, 0xfff5
jmp 0x40e216
push eax
push esi
push 1
push edi
call ebx
add esp, 0x10
mov ecx, ebp
push esi
push edi
call fcn.00407990
test al, al
jne 0x40bd88
push 0
push 0x707070
push 1
push 0x43e158
push 0x43d514
jmp 0x40bda8
push esi
push edi
mov ecx, ebp
call fcn.00407c60
test al, al
jne 0x40bdd5
push 0
push 0x707070
push 1
push 0x43e158
push 0x43d504
mov ecx, 0x43e0c8
call fcn.00415779
push 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x4c8], 0xffffffff
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 ax, 0xfff6
jmp 0x40e216
xor ebx, ebx
mov byte [esp + 0x16], 1
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x40be52
mov ecx, dword [ecx + 0x1c]
sub ecx, eax
sar ecx, 2
cmp ebx, ecx
jae 0x40be52
mov esi, dword [esp + 0x60]
mov eax, dword [esi + 0x28]
lea ecx, [eax + ebx*4]
call fcn.0041d635
mov esi, dword [esi + 0x28]
mov dword [esp + 0x68], eax
lea ecx, [esi + ebx*4]
call fcn.0041d6b4
mov edx, dword [esp + 0x80]
mov esi, eax
mov eax, dword [esp + 0x94]
lea edi, [edx + eax]
mov eax, dword [esp + 0x68]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x80]
add ecx, eax
inc ebx
mov dword [esp + 0x80], ecx
jmp 0x40bde3
push 0
push 0x707070
push 3
push 0x43e158
push 0x43d4f0
mov ecx, 0x43e0c8
call fcn.00415779
mov eax, 0xa0240000
mov edi, 0x40
mov dword [esp + 0x20c], eax
mov dword [esp + 0x22c], eax
mov eax, 0x400
mov ecx, 0x200
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], eax
mov esi, 0x4000
mov ebx, 0x20000
mov eax, 0x40000
mov dword [esp + 0x1d4], 0xa0000000
mov dword [esp + 0x1d8], 0xa0004000
mov dword [esp + 0x1dc], 0xa0008000
mov dword [esp + 0x1e0], 0xa000c000
mov dword [esp + 0x1e4], 0xa0010000
mov dword [esp + 0x1e8], 0xa0020000
mov dword [esp + 0x1ec], 0xa0040000
mov dword [esp + 0x1f0], 0xa0080000
mov dword [esp + 0x1f4], 0xa00c0000
mov dword [esp + 0x1f8], 0xa0100000
mov dword [esp + 0x1fc], 0xa0140000
mov dword [esp + 0x200], 0xa0180000
mov dword [esp + 0x204], 0xa01c0000
mov dword [esp + 0x208], 0xa0200000
mov dword [esp + 0x210], 0xa0208000
mov dword [esp + 0x214], 0xa020c000
mov dword [esp + 0x218], 0xa0210000
mov dword [esp + 0x21c], 0xa0214000
mov dword [esp + 0x220], 0xa0218000
mov dword [esp + 0x224], 0xa021c000
mov dword [esp + 0x228], 0xa0220000
mov dword [esp + 0x230], 0xa0280000
mov dword [esp + 0x234], 0xa02c0000
mov dword [esp + 0x238], 0xa0300000
mov dword [esp + 0x23c], 0xa0340000
mov dword [esp + 0x240], 0xa0380000
mov dword [esp + 0x244], 0xa03c0000
mov dword [esp + 0x160], edi
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], edi
mov dword [esp + 0x16c], edi
mov dword [esp + 0x170], edi
mov dword [esp + 0x174], ecx
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], eax
call fcn.0041cb30
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041cb30
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041cb30
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041cb30
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041cb30
mov ecx, dword [esp + 0x54]
mov eax, 0x10000
cmp ecx, eax
mov byte [esp + 0x4c4], 5
mov byte [esp + 0x17], 0
je 0x40c28f
mov edx, ecx
cmp edx, ebx
je 0x40c28f
mov ebx, dword [esp + 0x60]
mov al, byte [ebx + 0x50]
cmp al, 6
jne 0x40c21d
mov byte [esp + 0x34], 0xf
mov dword [esp + 0x4c], 0x274000
cmp edx, 0x1c0000
je 0x40c200
mov al, byte [esp + 0x16]
test al, al
je 0x40c3cd
mov al, byte [ebx + 0x50]
test al, al
jne 0x40c2e8
mov byte [esp + 0x34], 0xc
mov dword [esp + 0x4c], 0x1b4000
jmp 0x40c309
cmp al, 5
jne 0x40c230
mov byte [esp + 0x34], 0xb
mov dword [esp + 0x4c], 0x174000
jmp 0x40c1ec
cmp al, 3
je 0x40c24b
cmp al, 4
je 0x40c24b
cmp al, 7
je 0x40c24b
mov byte [esp + 0x34], 0xd
mov dword [esp + 0x4c], 0x1f4000
jmp 0x40c1ec
mov byte [esp + 0x34], 0x1d
mov dword [esp + 0x4c], 0x3f4000
mov dword [esp + 0x208], 0xa0200000
mov dword [esp + 0x194], edi
mov dword [esp + 0x120], esi
mov dword [esp + 0x20c], 0xa0204000
mov dword [esp + 0x198], edi
mov dword [esp + 0x124], esi
jmp 0x40c1ec
mov ebx, dword [esp + 0x60]
mov edx, eax
mov dword [esp + 0x4c], eax
mov ecx, 0x80
mov eax, 0x8000
mov dword [esp + 0x54], edx
mov byte [esp + 0x34], 2
mov dword [esp + 0x1d4], 0xafe00000
mov dword [esp + 0x160], ecx
mov dword [esp + 0xec], eax
mov dword [esp + 0x1d8], 0xafe10000
mov dword [esp + 0x164], ecx
mov dword [esp + 0xf0], eax
mov byte [esp + 0x17], 1
jmp 0x40c1f4
mov cl, byte [esp + 0x16]
test cl, cl
je 0x40c3cd
cmp al, 6
jne 0x40c3b7
mov byte [esp + 0x34], 0xf
mov dword [esp + 0x4c], 0x274000
mov ecx, ebp
call fcn.00402260
test al, al
jne 0x40c4ae
push 0
push 0x707070
push 1
push 0x43e158
push 0x43a150
mov ecx, 0x43e0c8
call fcn.00415779
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x40e213
mov cl, byte [eax - 1]
test cl, cl
je 0x40c580
cmp cl, 0xff
je 0x40c580
dec cl
mov byte [eax - 1], cl
jmp 0x40e213
cmp al, 2
jne 0x40c3cd
mov byte [esp + 0x34], 0xd
mov dword [esp + 0x4c], 0x1f4000
jmp 0x40c309
cmp edx, 0x1fc000
jne 0x40c3f2
mov al, byte [ebx + 0x50]
cmp al, 2
je 0x40c3e0
cmp al, 1
jne 0x40c3f2
mov byte [esp + 0x34], 0xc
mov dword [esp + 0x4c], 0x1f0000
jmp 0x40c309
mov eax, dword [esp + 0x4c]
cmp edx, eax
je 0x40c309
jae 0x40c309
push 0
push 0x707070
push 1
push 0x43e158
push 0x43d4b4
mov ecx, 0x43e0c8
call fcn.00415779
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x40c4a5
mov cl, byte [eax - 1]
test cl, cl
je 0x40c49b
cmp cl, 0xff
je 0x40c49b
dec cl
mov byte [eax - 1], cl
mov ax, 0xfff5
jmp 0x40e216
dec eax
push eax
call fcn.004331e6
add esp, 4
mov ax, 0xfff5
jmp 0x40e216
xor esi, esi
mov ecx, 0x43e0c8
push esi
push 0x707070
push 3
push 0x43e158
push 0x43a1c0
call fcn.00415779
lea eax, [ebx + 0x54]
lea edi, [ebx + 0x50]
push eax
push edi
mov ecx, ebp
mov dword [esp + 0xcc], eax
call fcn.00402aa0
test al, al
push esi
push 0x707070
jne 0x40c58f
push 1
push 0x43e158
push 0x43a13c
mov ecx, 0x43e0c8
call fcn.00415779
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
mov eax, dword [esp + 0xa8]
cmp eax, esi
je 0x40e213
mov cl, byte [eax - 1]
test cl, cl
je 0x40c580
cmp cl, 0xff
je 0x40c580
dec cl
mov byte [eax - 1], cl
jmp 0x40e213
dec eax
push eax
call fcn.004331e6
add esp, 4
jmp 0x40e213
push 3
push 0x43e158
push 0x43d49c
mov ecx, 0x43e0c8
call fcn.00415779
mov al, byte [esp + 0x16]
mov dword [esp + 0x88], esi
mov byte [esp + 0x84], al
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov cl, byte [esp + 0x16]
mov dword [esp + 0x74], esi
mov byte [esp + 0x70], cl
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
push ecx
mov byte [esp + 0x4c8], 7
mov ecx, esp
mov dword [esp + 0xbc], esp
push esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], esi
call fcn.0041cb87
lea ecx, [esp + 0x4c]
call fcn.0041d132
mov dl, byte [esp + 0x16]
mov dword [esp + 0x28], esi
mov byte [esp + 0x24], dl
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov al, byte [esp + 0x16]
mov dword [esp + 0x3c], esi
mov byte [esp + 0x38], al
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x54]
mov byte [esp + 0x4c4], 9
cmp eax, 0x1fc000
jne 0x40c654
mov al, byte [edi]
cmp al, 2
je 0x40c647
cmp al, 1
jne 0x40c654
mov dword [esp + 0xa0], 1
jmp 0x40c65b
mov dword [esp + 0xa0], esi
mov ecx, dword [ebx + 8]
push 0xa
push 2
push 0x80
push ecx
mov ecx, ebp
call fcn.00402030
test al, al
jne 0x40c738
push esi
push 0x707070
push 1
push 0x43e158
push 0x43d384
mov ecx, 0x43e0c8
call fcn.00415779
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
cmp edi, eax
mov byte [esp + 0x4c4], 8
mov ebx, eax
je 0x40c6bb
mov ecx, edi
call fcn.0041ceba
add edi, 4
cmp edi, ebx
jne 0x40c6a9
mov edi, dword [esp + 0x3c]
push edi
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov byte [esp + 0x4c4], 7
mov ebx, eax
je 0x40c6f8
mov ecx, edi
call fcn.0041ceba
add edi, 4
cmp edi, ebx
jne 0x40c6e6
mov edi, dword [esp + 0x28]
push edi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
je 0x40c81b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40c812
cmp al, 0xff
je 0x40c812
dec al
mov byte [ecx], al
jmp 0x40c81b
push 0xf4240
mov ecx, 0x43e508
call fcn.0041fefd
cmp al, 0x7f
je 0x40c8f0
mov edx, dword [ebx + 8]
push esi
push 2
push esi
push edx
mov ecx, ebp
call fcn.00402030
push esi
push 0x707070
push 1
push 0x43e158
push 0x43d370
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov ebx, ecx
mov edi, eax
je 0x40c7a4
mov ecx, edi
call fcn.0041ceba
add edi, 4
cmp edi, ebx
jne 0x40c792
mov eax, dword [esp + 0x3c]
push eax
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov byte [esp + 0x4c4], 7
mov ebx, eax
je 0x40c7e1
mov ecx, edi
call fcn.0041ceba
add edi, 4
cmp edi, ebx
jne 0x40c7cf
mov edi, dword [esp + 0x28]
push edi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
je 0x40c81b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40c812
cmp al, 0xff
je 0x40c812
dec al
mov byte [ecx], al
jmp 0x40c81b
push ecx
call fcn.004331e6
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x74], esi
cmp eax, esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
je 0x40c84f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40c846
cmp al, 0xff
je 0x40c846
dec al
mov byte [ecx], al
jmp 0x40c84f
push ecx
call fcn.004331e6
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
mov ecx, dword [esp + 0xa8]
cmp ecx, esi
je 0x40c8e7
mov al, byte [ecx - 1]
test al, al
je 0x40c8dd
cmp al, 0xff
je 0x40c8dd
dec al
mov byte [ecx - 1], al
mov ax, 8
jmp 0x40e216
dec ecx
push ecx
call fcn.004331e6
add esp, 4
mov ax, 8
jmp 0x40e216
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x30]
push eax
push eax
call fcn.00409c50
mov ebx, eax
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp ebx, eax
mov dword [esp + 0x68], eax
mov edi, ebx
je 0x40c933
push esi
mov ecx, edi
call fcn.0040a070
mov eax, dword [esp + 0x68]
add edi, 4
cmp edi, eax
jne 0x40c920
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
push ecx
push eax
push eax
mov dword [esp + 0x38], ebx
call fcn.00409c50
mov ebx, eax
mov eax, dword [esp + 0x4c]
add esp, 0xc
cmp ebx, eax
mov dword [esp + 0x68], eax
mov edi, ebx
je 0x40c96d
push esi
mov ecx, edi
call fcn.0040a070
mov eax, dword [esp + 0x68]
add edi, 4
cmp edi, eax
jne 0x40c95a
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0xa0]
and edx, 0xff
mov dword [esp + 0x40], ebx
mov dword [esp + 0x54], eax
lea ecx, [edx + eax]
cmp eax, ecx
mov dword [esp + 0x68], ecx
jae 0x40de22
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
push eax
push 0
push ecx
lea edx, [esp + 0x22]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0xd0], esp
push edx
push 0x43d48c
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebp
call fcn.00407320
push 0xa
push 0x43d480
lea ecx, [esp + 0x18]
call fcn.0041d7c4
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x10]
lea esi, [esp + eax*4 + 0x1d4]
mov al, byte [esp + eax*4 + 0x1d4]
push eax
push 4
mov byte [esp + 0xdc], al
call fcn.0041d467
mov ebx, dword [esi]
lea ecx, [esp + 0x10]
mov esi, ebx
mov dword [esp + 0xa0], ebx
shr esi, 8
push esi
push 5
mov dword [esp + 0xf0], esi
call fcn.0041d467
mov edi, ebx
lea ecx, [esp + 0x10]
shr edi, 0x10
push edi
push 6
mov dword [esp + 0xec], edi
call fcn.0041d467
mov eax, ebx
lea ecx, [esp + 0x10]
shr eax, 0x18
push eax
push 7
mov dword [esp + 0xe0], eax
call fcn.0041d467
mov ecx, dword [esp + 0x54]
mov al, byte [esp + ecx*4 + 0x160]
lea ecx, [esp + 0x10]
push eax
push 8
mov byte [esp + 0xe4], al
call fcn.0041d467
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x10]
mov eax, dword [esp + edx*4 + 0x160]
shr eax, 8
push eax
push 9
mov dword [esp + 0xbc], eax
call fcn.0041d467
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
lea edx, [esp + 0x38]
push 0xc8
push edx
lea eax, [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.00409350
mov ecx, ebp
call fcn.004089e0
test al, al
je 0x40d7b6
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x40d94b
mov ecx, dword [esp + 0x40]
sub ecx, eax
sar ecx, 2
je 0x40d94b
lea ecx, [esp + 0x38]
call fcn.0040e310
dec eax
lea ecx, [esp + 0x38]
push eax
call fcn.00409400
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.0041cb47
lea ecx, [esp + 0x4c]
call fcn.0041d132
mov al, byte [esp + 0x17]
test al, al
jne 0x40cc04
mov al, byte [esp + 0x4cc]
test al, al
je 0x40cc04
lea ecx, [esp + 0xbc]
call fcn.0041cb30
mov edx, dword [esp + 0x54]
mov byte [esp + 0x4c4], 0xa
mov eax, dword [esp + edx*4 + 0xec]
push eax
mov eax, dword [esp + 0x98]
lea ecx, [ebx + eax + 0x60000000]
push ecx
lea ecx, [esp + 0xc4]
call fcn.0041d7a7
lea ecx, [esp + 0x48]
call fcn.0041d635
cmp eax, 4
jbe 0x40cbf0
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.0041cb47
mov eax, dword [esp + 0x58]
lea edx, [esp + 0xc0]
mov byte [esp + 0x4c8], 0xb
mov eax, dword [esp + eax*4 + 0xf0]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0xdc], esp
push edx
call fcn.0041cb47
mov ecx, ebp
mov byte [esp + 0x4d0], 0xa
call fcn.00408430
test al, al
je 0x40cbf0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0x4c4], 9
mov eax, dword [esp + eax*4 + 0xec]
sub ecx, eax
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0xbc]
call fcn.0041ceba
jmp 0x40d79c
lea ecx, [esp + 0xbc]
mov byte [esp + 0x4c4], 9
call fcn.0041ceba
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x74], eax
call fcn.00409490
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x6c]
push ecx
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x34], edx
mov dword [esp + 0x74], eax
call fcn.00409490
mov edx, dword [esp + 0x6c]
push 8
push 0x43d474
lea ecx, [esp + 0x18]
mov dword [esp + 0x48], edx
call fcn.0041d7c4
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x10]
push eax
push 4
call fcn.0041d467
push esi
push 5
lea ecx, [esp + 0x18]
call fcn.0041d467
push edi
push 6
lea ecx, [esp + 0x18]
call fcn.0041d467
mov ecx, dword [esp + 0xd8]
push ecx
push 7
lea ecx, [esp + 0x18]
call fcn.0041d467
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.00409520
lea ecx, [esp + 0x38]
push 0xc8
push ecx
lea edx, [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x68], esp
push edx
call fcn.00409350
mov ecx, ebp
call fcn.004089e0
test al, al
je 0x40da3d
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
push eax
push 0
push ecx
lea edx, [esp + 0xd5]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
push 0x43d48c
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebp
call fcn.00407320
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + eax*4 + 0xec]
mov eax, 0xb21642c9
mul ecx
mov edi, edx
mov eax, ecx
xor edx, edx
mov ecx, 0x1700
div ecx
shr edi, 0xc
mov dword [esp + 0xe0], edi
mov ecx, edx
mov eax, edx
and ecx, 0xff
mov dword [esp + 0xd0], edx
mov dword [esp + 0x80], ecx
mov cl, byte [esp + 0x17]
shr eax, 8
test cl, cl
mov dword [esp + 0x50], eax
jne 0x40cd58
xor ecx, ecx
mov dword [esp + 0x64], ecx
jmp 0x40cd5c
mov ecx, dword [esp + 0x64]
test edi, edi
mov dword [esp + 0x6c], 0
jbe 0x40d133
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x94]
add edx, ecx
lea ecx, [edx + eax + 0x60000000]
mov dword [esp + 0xcc], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.00409490
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push ecx
mov dword [esp + 0x30], esi
push eax
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00409490
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x5c]
lea ecx, [eax + edx]
add esi, 0x1700
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x58], ecx
add eax, 0x1700
add ecx, 0x1700
mov dword [esp + 0x5c], esi
mov dword [esp + 0xc0], 0x17
mov dword [esp + 0x64], eax
mov dword [esp + 0xcc], ecx
mov esi, 0x100
mov al, byte [esp + 0x17]
push esi
test al, al
je 0x40ce23
mov edx, dword [esp + 0x9c]
push edx
jmp 0x40ce28
mov eax, dword [esp + 0x5c]
push eax
lea ecx, [esp + 0x20]
call fcn.0041d7a7
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.0041cb47
mov ecx, ebp
call fcn.00404d70
test al, al
je 0x40ced1
push 9
push 0x43d468
lea ecx, [esp + 0x18]
call fcn.0041d7c4
push ebx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
mov eax, ebx
lea ecx, [esp + 0x10]
shr eax, 8
push eax
push 5
call fcn.0041d467
mov ecx, ebx
shr ecx, 0x10
push ecx
push 6
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, ebx
lea ecx, [esp + 0x10]
shr edx, 0x18
push edx
push 7
call fcn.0041d467
push 0
lea ecx, [esp + 0x1c]
call fcn.0041d118
push eax
push 8
lea ecx, [esp + 0x18]
call fcn.0041d467
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
jmp 0x40d04f
push 0x80
lea ecx, [esp + 0x1c]
call fcn.0041d6b4
add eax, 0x80
lea ecx, [esp + 0x24]
push eax
call fcn.0041d7a7
push 0x80
lea ecx, [esp + 0x1c]
call fcn.0041d6b4
push eax
lea ecx, [esp + 0x24]
call fcn.0041d7a7
mov esi, dword [esp + 0xc4]
push ecx
mov edi, esp
mov dword [esp + 0x38], esp
push esi
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.0041cb47
push edi
mov ecx, ebp
call fcn.00408570
lea ecx, [esp + 0x24]
call fcn.0041d132
push ecx
lea eax, [esp + 0x20]
mov edi, esp
mov dword [esp + 0x38], esp
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.0041cb47
push edi
mov ecx, ebp
call fcn.00408570
lea ecx, [esp + 0x20]
call fcn.0041d132
push 8
push 0x43d45c
lea ecx, [esp + 0x18]
call fcn.0041d7c4
mov cl, bl
add cl, 0x80
push ecx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
mov esi, ebx
lea ecx, [esp + 0x10]
shr esi, 8
push esi
push 5
call fcn.0041d467
mov edi, ebx
lea ecx, [esp + 0x10]
shr edi, 0x10
push edi
push 6
call fcn.0041d467
mov eax, ebx
lea ecx, [esp + 0x10]
shr eax, 0x18
push eax
push 7
mov dword [esp + 0x3c], eax
call fcn.0041d467
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call fcn.0041d0c4
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
push 8
push 0x43d45c
lea ecx, [esp + 0x18]
call fcn.0041d7c4
push ebx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
push esi
push 5
lea ecx, [esp + 0x18]
call fcn.0041d467
push edi
push 6
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x10]
push edx
push 7
call fcn.0041d467
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
push eax
call fcn.0041d0c4
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x10]
push ecx
push 1
push edx
lea ecx, [esp + 0x30]
call fcn.00409520
mov edi, dword [esp + 0xe0]
mov esi, 0x100
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
add eax, esi
add edx, esi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc0]
add ebx, esi
dec eax
mov dword [esp + 0x58], edx
mov dword [esp + 0xc0], eax
jne 0x40ce10
lea eax, [esp + 0x38]
push 0xc8
push eax
lea edx, [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0xd8], esp
push edx
call fcn.00409350
mov ecx, ebp
call fcn.004089e0
test al, al
je 0x40db63
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.00409490
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push edx
mov dword [esp + 0x30], esi
push eax
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00409490
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
push eax
push 0
push ecx
lea edx, [esp + 0xd7]
sub esp, 0x10
mov dword [esp + 0x5c], esi
mov ecx, esp
mov dword [esp + 0xdc], esp
push edx
push 0x43d48c
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebp
call fcn.00407320
mov eax, dword [esp + 0x6c]
inc eax
cmp eax, edi
mov dword [esp + 0x6c], eax
jb 0x40cd8a
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
test edx, edx
je 0x40d697
test eax, eax
jbe 0x40d3da
mov edx, dword [esp + 0x94]
mov dword [esp + 0x6c], eax
shl eax, 8
lea esi, [ecx + edx]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0xa0]
add esi, ecx
lea edx, [esi + edx + 0x60000000]
mov esi, dword [esp + 0x5c]
add esi, eax
add ecx, eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], ecx
mov eax, 0x100
mov cl, byte [esp + 0x17]
push eax
test cl, cl
je 0x40d194
mov eax, dword [esp + 0x5c]
push eax
jmp 0x40d19c
mov ecx, dword [esp + 0x9c]
push ecx
lea ecx, [esp + 0x20]
call fcn.0041d7a7
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.0041cb47
mov ecx, ebp
call fcn.00404d70
test al, al
je 0x40d238
push 9
push 0x43d468
lea ecx, [esp + 0x18]
call fcn.0041d7c4
push ebx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
mov eax, ebx
lea ecx, [esp + 0x10]
shr eax, 8
push eax
push 5
call fcn.0041d467
mov ecx, ebx
shr ecx, 0x10
push ecx
push 6
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, ebx
lea ecx, [esp + 0x10]
shr edx, 0x18
push edx
push 7
call fcn.0041d467
push 0
lea ecx, [esp + 0x1c]
call fcn.0041d118
push eax
push 8
lea ecx, [esp + 0x18]
call fcn.0041d467
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
jmp 0x40d3a1
push 0x80
lea ecx, [esp + 0x1c]
call fcn.0041d6b4
add eax, 0x80
lea ecx, [esp + 0x24]
push eax
call fcn.0041d7a7
push 0x80
lea ecx, [esp + 0x1c]
call fcn.0041d6b4
push eax
lea ecx, [esp + 0x24]
call fcn.0041d7a7
mov esi, dword [esp + 0xc4]
push ecx
mov edi, esp
mov dword [esp + 0x54], esp
push esi
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call fcn.0041cb47
push edi
mov ecx, ebp
call fcn.00408570
lea ecx, [esp + 0x24]
call fcn.0041d132
push ecx
lea eax, [esp + 0x20]
mov edi, esp
mov dword [esp + 0x54], esp
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.0041cb47
push edi
mov ecx, ebp
call fcn.00408570
lea ecx, [esp + 0x20]
call fcn.0041d132
push 8
push 0x43d45c
lea ecx, [esp + 0x18]
call fcn.0041d7c4
mov cl, bl
add cl, 0x80
push ecx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
mov esi, ebx
lea ecx, [esp + 0x10]
shr esi, 8
push esi
push 5
call fcn.0041d467
mov edi, ebx
lea ecx, [esp + 0x10]
shr edi, 0x10
push edi
push 6
call fcn.0041d467
mov eax, ebx
lea ecx, [esp + 0x10]
shr eax, 0x18
push eax
push 7
mov dword [esp + 0x3c], eax
call fcn.0041d467
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call fcn.0041d0c4
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
push 8
push 0x43d45c
lea ecx, [esp + 0x18]
call fcn.0041d7c4
push ebx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
push esi
push 5
lea ecx, [esp + 0x18]
call fcn.0041d467
push edi
push 6
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x10]
push edx
push 7
call fcn.0041d467
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
push eax
call fcn.0041d0c4
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x10]
push ecx
push 1
push edx
lea ecx, [esp + 0x30]
call fcn.00409520
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x6c]
mov eax, 0x100
add edi, eax
add esi, eax
add ebx, eax
dec ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x6c], ecx
jne 0x40d184
mov eax, dword [esp + 0x80]
test eax, eax
je 0x40d668
mov al, byte [esp + 0x17]
mov esi, dword [esp + 0x80]
test al, al
je 0x40d413
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x64]
and esi, 0xffff
add ecx, eax
push esi
mov dword [esp + 0x5c], esi
push ecx
jmp 0x40d43a
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x94]
and esi, 0xffff
add edx, eax
push esi
mov dword [esp + 0x5c], esi
lea edx, [edx + ecx + 0x60000000]
push edx
lea ecx, [esp + 0x20]
call fcn.0041d7a7
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.0041cb47
mov ecx, ebp
call fcn.00404d70
test al, al
je 0x40d4dd
push 9
push 0x43d468
lea ecx, [esp + 0x18]
call fcn.0041d7c4
push ebx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
mov ecx, ebx
shr ecx, 8
push ecx
push 5
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, ebx
lea ecx, [esp + 0x10]
shr edx, 0x10
push edx
push 6
call fcn.0041d467
shr ebx, 0x18
push ebx
push 7
lea ecx, [esp + 0x18]
call fcn.0041d467
push 0
lea ecx, [esp + 0x1c]
call fcn.0041d118
push eax
push 8
lea ecx, [esp + 0x18]
call fcn.0041d467
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
jmp 0x40d654
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x18]
shr esi, 1
push esi
call fcn.0041d6b4
add eax, esi
lea ecx, [esp + 0x24]
push eax
call fcn.0041d7a7
push esi
lea ecx, [esp + 0x1c]
call fcn.0041d6b4
push eax
lea ecx, [esp + 0x24]
call fcn.0041d7a7
mov esi, dword [esp + 0xc4]
push ecx
mov edi, esp
mov dword [esp + 0x54], esp
push esi
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call fcn.0041cb47
push edi
mov ecx, ebp
call fcn.00408570
lea ecx, [esp + 0x24]
call fcn.0041d132
push ecx
lea eax, [esp + 0x20]
mov edi, esp
mov dword [esp + 0x54], esp
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.0041cb47
push edi
mov ecx, ebp
call fcn.00408570
lea ecx, [esp + 0x20]
call fcn.0041d132
push 8
push 0x43d45c
lea ecx, [esp + 0x18]
call fcn.0041d7c4
mov ecx, dword [esp + 0x80]
shr ecx, 1
add cl, bl
push ecx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
mov esi, ebx
lea ecx, [esp + 0x10]
shr esi, 8
push esi
push 5
call fcn.0041d467
mov edi, ebx
lea ecx, [esp + 0x10]
shr edi, 0x10
push edi
push 6
call fcn.0041d467
mov eax, ebx
lea ecx, [esp + 0x10]
shr eax, 0x18
push eax
push 7
mov dword [esp + 0x3c], eax
call fcn.0041d467
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call fcn.0041d0c4
lea eax, [esp + 0x10]
mov ecx, dword [esp + 0x2c]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
push 8
push 0x43d45c
lea ecx, [esp + 0x18]
call fcn.0041d7c4
push ebx
push 4
lea ecx, [esp + 0x18]
call fcn.0041d467
push esi
push 5
lea ecx, [esp + 0x18]
call fcn.0041d467
push edi
push 6
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x10]
push edx
push 7
call fcn.0041d467
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
push eax
call fcn.0041d0c4
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x10]
push ecx
push 1
push edx
lea ecx, [esp + 0x30]
call fcn.00409520
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
add ecx, esi
add eax, esi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
push eax
push 0
push ecx
lea edx, [esp + 0xd6]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
push 0x43d48c
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebp
call fcn.00407320
push 0xa
push 0x43d480
lea ecx, [esp + 0x18]
call fcn.0041d7c4
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x10]
push eax
push 4
call fcn.0041d467
mov ecx, dword [esp + 0xe8]
push ecx
push 5
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0x10]
push edx
push 6
call fcn.0041d467
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x10]
push eax
push 7
call fcn.0041d467
mov ecx, dword [esp + 0xdc]
push ecx
push 8
lea ecx, [esp + 0x18]
call fcn.0041d467
mov edx, dword [esp + 0xb4]
lea ecx, [esp + 0x10]
push edx
push 9
call fcn.0041d467
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00409520
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x54]
dec edx
cmp eax, edx
jne 0x40d76a
lea eax, [esp + 0x38]
push 0xc8
push eax
lea edx, [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0xcc], esp
push edx
call fcn.00409350
mov ecx, ebp
call fcn.004089e0
test al, al
je 0x40dd1d
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
push eax
push 0
push ecx
lea edx, [esp + 0xab]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0xd0], esp
push edx
push 0x43d48c
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebp
call fcn.00407320
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
inc eax
cmp eax, ecx
mov dword [esp + 0x54], eax
jae 0x40de22
jmp 0x40c995
mov eax, dword [esp + 0x60]
xor ebx, ebx
push ebx
push 2
mov ecx, dword [eax + 8]
push ebx
push ecx
mov ecx, ebp
call fcn.00402030
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1c200
mov ecx, 0x43e508
call fcn.0041fefd
push ebx
push 0x707070
push 1
push 0x43e158
push 0x43d44c
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov edi, ecx
mov esi, eax
je 0x40d82b
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40d819
mov eax, dword [esp + 0x3c]
push eax
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov byte [esp + 0x4c4], 7
mov edi, eax
je 0x40d868
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40d856
mov esi, dword [esp + 0x28]
push esi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
je 0x40db29
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40db20
cmp al, 0xff
je 0x40db20
dec al
mov byte [ecx], al
jmp 0x40db29
push ecx
call fcn.004331e6
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
mov ecx, dword [esp + 0xa8]
cmp ecx, ebx
je 0x40de19
mov al, byte [ecx - 1]
test al, al
je 0x40de0f
cmp al, 0xff
je 0x40de0f
dec al
mov byte [ecx - 1], al
mov ax, 0xffdd
jmp 0x40e216
mov edx, dword [esp + 0x60]
xor ebx, ebx
push ebx
push 2
mov eax, dword [edx + 8]
push ebx
push eax
mov ecx, ebp
call fcn.00402030
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1c200
mov ecx, 0x43e508
call fcn.0041fefd
push ebx
push 0x707070
push 1
push 0x43e158
push 0x43d44c
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov edi, ecx
mov esi, eax
je 0x40d9c0
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40d9ae
mov eax, dword [esp + 0x3c]
push eax
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov byte [esp + 0x4c4], 7
mov edi, eax
je 0x40d9fd
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40d9eb
mov esi, dword [esp + 0x28]
push esi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
je 0x40db29
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40db20
cmp al, 0xff
je 0x40db20
dec al
mov byte [ecx], al
jmp 0x40db29
mov ecx, dword [esp + 0x60]
xor ebx, ebx
push ebx
push 2
mov edx, dword [ecx + 8]
push ebx
push edx
mov ecx, ebp
call fcn.00402030
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1c200
mov ecx, 0x43e508
call fcn.0041fefd
push ebx
push 0x707070
push 1
push 0x43e158
push 0x43d44c
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov edi, ecx
mov esi, eax
je 0x40dab2
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40daa0
mov eax, dword [esp + 0x3c]
push eax
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov byte [esp + 0x4c4], 7
mov edi, eax
je 0x40daef
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40dadd
mov esi, dword [esp + 0x28]
push esi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
je 0x40db29
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40db20
cmp al, 0xff
je 0x40db20
dec al
mov byte [ecx], al
jmp 0x40db29
push ecx
call fcn.004331e6
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x74], ebx
cmp eax, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
je 0x40d8b1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40d8a8
cmp al, 0xff
je 0x40d8a8
dec al
mov byte [ecx], al
jmp 0x40d8b1
mov eax, dword [esp + 0x60]
xor edi, edi
push edi
push 2
mov ecx, dword [eax + 8]
push edi
push ecx
mov ecx, ebp
call fcn.00402030
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1c200
mov ecx, 0x43e508
call fcn.0041fefd
push edi
push 0x707070
push 1
push 0x43e158
push 0x43d44c
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov ebx, ecx
mov esi, eax
je 0x40dbd8
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, ebx
jne 0x40dbc6
mov eax, dword [esp + 0x3c]
push eax
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov byte [esp + 0x4c4], 7
mov ebx, eax
je 0x40dc15
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, ebx
jne 0x40dc03
mov esi, dword [esp + 0x28]
push esi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
je 0x40dc4f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40dc46
cmp al, 0xff
je 0x40dc46
dec al
mov byte [ecx], al
jmp 0x40dc4f
push ecx
call fcn.004331e6
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x74], edi
cmp eax, edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
je 0x40dc83
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40dc7a
cmp al, 0xff
je 0x40dc7a
dec al
mov byte [ecx], al
jmp 0x40dc83
push ecx
call fcn.004331e6
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
mov ecx, dword [esp + 0xa8]
cmp ecx, edi
je 0x40de19
mov al, byte [ecx - 1]
test al, al
je 0x40de0f
cmp al, 0xff
je 0x40de0f
dec al
mov byte [ecx - 1], al
mov ax, 0xffdd
jmp 0x40e216
mov edx, dword [esp + 0x60]
xor edi, edi
push edi
push 2
mov eax, dword [edx + 8]
push edi
push eax
mov ecx, ebp
call fcn.00402030
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1c200
mov ecx, 0x43e508
call fcn.0041fefd
push edi
push 0x707070
push 1
push 0x43e158
push 0x43d44c
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov ebx, ecx
mov esi, eax
je 0x40dd92
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, ebx
jne 0x40dd80
mov eax, dword [esp + 0x3c]
push eax
call fcn.004331e6
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov byte [esp + 0x4c4], 7
mov ebx, eax
je 0x40ddcf
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, ebx
jne 0x40ddbd
mov esi, dword [esp + 0x28]
push esi
call fcn.004331e6
mov eax, dword [esp + 0x78]
add esp, 4
cmp eax, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
je 0x40dc4f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40dc46
cmp al, 0xff
je 0x40dc46
dec al
mov byte [ecx], al
jmp 0x40dc4f
dec ecx
push ecx
call fcn.004331e6
add esp, 4
mov ax, 0xffdd
jmp 0x40e216
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x1c200
mov ecx, 0x43e508
mov esi, eax
call fcn.0041fefd
cmp al, 0x7f
je 0x40df6a
mov ecx, dword [esp + 0x60]
xor ebx, ebx
push ebx
push 2
mov edx, dword [ecx + 8]
push ebx
push edx
mov ecx, ebp
call fcn.00402030
push ebx
push 0x707070
push 1
push 0x43e158
push 0x43d370
mov ecx, 0x43e0c8
call fcn.00415779
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0x4c4], 8
mov edi, ecx
mov esi, eax
je 0x40de9c
mov ecx, esi
call fcn.0041ceba
add esi, 4
cmp esi, edi
jne 0x40de8a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
sub ecx, eax
sar ecx, 2
push ecx
push eax
lea ecx, [esp + 0x40]
call fcn.0040e330
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov byte [esp + 0x4c4], 7
call fcn.004093c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x4c4], 6
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x84]
mov byte [esp + 0x4c4], 5
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
lea ecx, [esp + 0xa4]
mov dword [esp + 0x4c4], 0xffffffff
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ax, 8
jmp 0x40e216
mov edx, dword [esp + 0x60]
push 0
push 2
push 0
mov eax, dword [edx + 8]
mov ecx, ebp
push eax
call fcn.00402030
push 0
push 0x707070
test al, al
push 1
push 0x43e158
jne 0x40e063
push 0x43d384
mov ecx, 0x43e0c8
call fcn.00415779
lea ecx, [esp + 0x38]
mov byte [esp + 0x4c4], 8
call fcn.004093c0
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c4], 7
call fcn.004093c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x4c4], 6
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x84]
mov byte [esp + 0x4c4], 5
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c4], 3
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
lea ecx, [esp + 0xa4]
mov dword [esp + 0x4c4], 0xffffffff
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ax, 8
jmp 0x40e216
push 0x43d43c
mov ecx, 0x43e0c8
call fcn.00415779
push 0x43e158
lea ecx, [esp + 0x74]
call dword [0x4360bc]
mov eax, dword [esp + 0x4c]
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
mov ecx, eax
lea edx, [esp + 0x258]
shr ecx, 0xa
push ecx
push eax
push 0x43d2f8
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x258]
lea ecx, [esp + 0x70]
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__::operator_char_const__]
mov ebx, dword [esp + 0xb8]
mov eax, 0x10624dd3
sub esi, ebx
mul esi
mov ecx, edx
xor edx, edx
shr ecx, 6
mov eax, ecx
mov esi, 0x3c
div esi
mov eax, 0x88888889
push edx
mul ecx
shr edx, 5
push edx
lea ecx, [esp + 0x260]
push 0x43d2e0
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x258]
lea ecx, [esp + 0x70]
push edx
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__::operator_char_const__]
push 0
push 1
sub esp, 0x10
lea eax, [esp + 0xb7]
mov ecx, esp
mov dword [esp + 0xd0], esp
push eax
push 0x43e158
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
sub esp, 0x10
lea edx, [esp + 0x98]
mov ecx, esp
mov dword [esp + 0xdc], esp
push edx
mov byte [esp + 0x4f0], 0xc
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, 0x43e0c8
mov byte [esp + 0x4ec], 9
call fcn.004157a6
lea ecx, [esp + 0x38]
mov byte [esp + 0x4c4], 8
call fcn.004093c0
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c4], 7
call fcn.004093c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x4c4], 6
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x84]
mov byte [esp + 0x4c4], 5
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c4], 4
call fcn.0041ceba
mov byte [esp + 0x4c4], 3
lea ecx, [esp + 0x10]
call fcn.0041ceba
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c4], 2
call fcn.0041ceba
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 1
call fcn.0041ceba
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c4], 0
call fcn.0041ceba
lea ecx, [esp + 0xa4]
mov dword [esp + 0x4c4], 0xffffffff
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor ax, ax
mov ecx, dword [esp + 0x4bc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x4b8
ret 4