Function at 0x72d290
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7a9334
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2fc
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x308]
push 0
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 0
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 0
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 0
call fcn.0072e018
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 0
call fcn.0072e018
mov dword [ebp - 4], 4
mov ecx, dword [0x84ee18]
mov edx, dword [ecx]
lea eax, [ebp - 0x308]
push eax
push 0x866c6c
push 0x866c68
call dword [edx + 0x10]
mov ecx, dword [0x84ee18]
mov edx, dword [ecx]
lea eax, [ebp - 0x2f8]
push eax
push 0x866c6c
push 0x89c260
call dword [edx + 0x10]
mov ecx, dword [0x84ee18]
mov edx, dword [ecx]
lea eax, [ebp - 0x2e8]
push eax
push 0x866c6c
push 0x89c268
call dword [edx + 0x10]
mov ecx, dword [0x84ee18]
mov edx, dword [ecx]
lea eax, [ebp - 0x2d8]
push eax
push 0x866c6c
push 0x89c26c
call dword [edx + 0x10]
mov ecx, dword [0x84ee18]
mov edx, dword [ecx]
lea eax, [ebp - 0x2c8]
push eax
push 0x866c6c
push 0x890d68
call dword [edx + 0x10]
lea eax, [ebp - 0x2c8]
push 0x866c6c
push eax
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
movzx eax, al
test eax, eax
je 0x72d440
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, 0x1859
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x2e4]
test eax, eax
je 0x72e00d
push 0
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0072e454
test eax, eax
jne 0x72d4d4
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, 0xd80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x72d550
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, 0x1c53
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x2b8]
call fcn.00731098
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x2b8]
lea eax, [ebp - 0x2c8]
push eax
call fcn.00731334
lea ecx, [ebp - 0x260]
push 0
call fcn.0072e018
mov edi, 0x89c274
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x72d598
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x72d590
mov ebx, eax
lea ecx, [ebp - 0x260]
push 1
push ebx
call fcn.0072e058
movzx edx, al
test edx, edx
je 0x72d5dc
mov edi, dword [ebp - 0x25c]
mov esi, 0x89c274
mov ecx, ebx
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x258], ebx
mov edx, dword [ebp - 0x25c]
mov byte [ebx + edx], 0
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x2b8]
lea eax, [ebp - 0x260]
push eax
call fcn.00731538
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x260]
push 1
call fcn.0072e018
lea ecx, [ebp - 0x2c8]
lea edx, [ebp - 0x2b8]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [eax]
push 0
push edx
call fcn.0072e254
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x72e003
push 0x88a594
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x72ddc5
lea edx, [ebp - 0x2d8]
push 0x866c6c
push edx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
movzx edx, al
test edx, edx
je 0x72d780
push 0x30d40
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [ebp - 0x1c], eax
push ebx
mov edx, eax
push 0xc350
push 4
push edx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x14
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x320]
lea edx, [ebp - 0x250]
xor esi, esi
and esi, 0xff
mov edi, esi
shl edi, 8
or esi, edi
mov ecx, esi
shl ecx, 0x10
or esi, ecx
mov dword [edx], esi
mov dword [edx + 4], esi
mov dword [edx + 8], esi
mov dword [edx + 0xc], esi
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], esi
mov dword [edx + 0x18], esi
mov dword [edx + 0x1c], esi
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], esi
mov dword [edx + 0x28], esi
mov dword [edx + 0x2c], esi
mov dword [edx + 0x30], esi
mov dword [edx + 0x34], esi
mov dword [edx + 0x38], esi
mov dword [edx + 0x3c], esi
mov dword [edx + 0x40], esi
mov dword [edx + 0x44], esi
mov dword [edx + 0x48], esi
mov dword [edx + 0x4c], esi
mov dword [edx + 0x50], esi
mov dword [edx + 0x54], esi
mov dword [edx + 0x58], esi
mov dword [edx + 0x5c], esi
mov dword [edx + 0x60], esi
add esp, 0xfffffff8
lea edx, [ebp - 0x250]
call fcn.0072f42c
lea edx, [ebp - 0x250]
push 0x21
push edx
call fcn.00730254
add esp, 0x10
push eax
mov ecx, dword [ebp - 0x14]
push 0x89c26c
call fcn.0072f334
mov ecx, dword [0x84ee18]
mov esi, dword [ecx]
lea edx, [ebp - 0x2d8]
push edx
push 0x866c6c
push 0x89c26c
call dword [esi + 0x10]
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.MSVCRT.dll_free]
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 8
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x72ddbb
push 0x88a594
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x72dc1f
push 0x30d40
call dword [sym.imp.MSVCRT.dll_malloc]
mov esi, eax
add esp, 4
lea edi, [ebp - 0x188]
xor eax, eax
mov ecx, 0x32
rep stosd dword es:[edi], eax
push ebx
push 0xc350
push 4
push esi
call dword [sym.imp.MSVCRT.dll_fread]
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x14
mov edx, dword [esi + 0x320]
mov ecx, dword [esi + 0x960]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x2d4]
test ecx, ecx
je 0x72dc15
lea edx, [ebp - 0x188]
push edx
push ecx
call fcn.0072f914
add esp, 8
push edi
lea eax, [ebp - 0x188]
call fcn.0072f008
pop ecx
mov edx, dword [ebp - 0x18]
cmp edx, eax
je 0x72d8d0
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c284
call fcn.0072f334
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c268
call fcn.0072f334
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c26c
call fcn.0072f334
push esi
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x2b8]
call fcn.0072f464
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, 0x800
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
lea edi, [ebp - 0xc0]
xor edx, edx
and edx, 0xff
mov ecx, edx
shl ecx, 8
or edx, ecx
mov ebx, edx
shl ebx, 0x10
or edx, ebx
mov dword [edi], edx
mov dword [edi + 4], edx
mov dword [edi + 8], edx
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], edx
mov dword [edi + 0x20], edx
push 0
call dword [sym.imp.MSVCRT.dll_time]
mov dword [ebp - 0x9c], eax
lea edx, [ebp - 0x9c]
push edx
call dword [sym.imp.MSVCRT.dll_gmtime]
mov edx, dword [ebp - 0x18]
mov ecx, edx
shr ecx, 9
and ecx, 0x1f
mov ebx, edx
shr ebx, 0xe
and ebx, 0xf
shr edx, 0x12
movzx edi, dl
mov dword [ebp - 0xb4], ecx
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], edi
push edx
call dword [sym.imp.MSVCRT.dll_mktime]
push eax
push dword [ebp - 0x9c]
call dword [sym.imp.MSVCRT.dll_difftime]
add esp, 0x14
fld qword [0x89c118]
fmulp st(1)
fstp qword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov ecx, edi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x72d9ab
mov ebx, edi
neg ecx
add ecx, 0x41e
shld ebx, edx, 0xb
or ebx, 0x80000000
shr ebx, cl
test edi, edi
jge 0x72d9ad
neg ebx
jmp 0x72d9ad
xor ebx, ebx
mov edx, dword [ebp - 0x1c]
cmp ebx, edx
jae 0x72d9b6
mov ebx, edx
mov edx, dword [ebp - 0x2c4]
test edx, edx
je 0x72dc0b
push 0x89c280
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
mov dword [esi + 0x960], ebx
push edi
push 0xc350
push 4
push esi
call dword [sym.imp.MSVCRT.dll_fwrite]
push edi
call dword [sym.imp.MSVCRT.dll_fflush]
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
push esi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 0x24
test ebx, ebx
jl 0x72db55
cmp ebx, 5
jge 0x72da9f
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x2b8]
call fcn.0072f464
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, ebx
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c284
call fcn.0072f334
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c268
call fcn.0072f334
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x2b8]
call fcn.0072f464
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, 0xdda
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c284
call fcn.0072f334
push 0x866c6c
mov ecx, dword [ebp - 0x14]
push 0x89c268
call fcn.0072f334
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x2b8]
call fcn.0072f464
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
mov eax, 0x800
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, 0x866af0
jmp 0x72d9c4
mov ecx, 0x866af0
jmp 0x72d7d8
lea edx, [ebp - 0x2d8]
push 0x866c6c
push edx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
movzx edx, al
test edx, edx
je 0x72d780
push 0x30d40
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [ebp - 0x18], eax
add esp, 4
lea ebx, [ebp - 0x1ec]
xor ecx, ecx
and ecx, 0xff
mov eax, ecx
shl eax, 8
or ecx, eax
mov edx, ecx
shl edx, 0x10
or ecx, edx
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], ecx
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x30], ecx
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], ecx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0x58], ecx
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], ecx
mov edx, dword [ebp - 0x2d4]
test edx, edx
je 0x72ddb1
lea eax, [ebp - 0x1ec]
push eax
push edx
call fcn.0072f914
add esp, 8
push edi
lea eax, [ebp - 0x1ec]
call fcn.0072f008
mov dword [ebp - 0x1c], eax
add esp, 4
mov edi, 0xafe55eaa
xor esi, esi
xor edx, edx
test esi, esi
je 0x72dcfe
mov eax, edi
and eax, 0x7fff
xor edx, edx
div esi
mov eax, dword [ebp - 0x18]
add edi, dword [eax + edx*4]
mov dword [eax + esi*4], edi
add ebx, edi
mov ecx, edi
and ecx, 2
inc esi
shl edi, cl
xor ebx, edi
add ebx, 3
mov edi, ebx
cmp esi, 0xc350
jb 0x72dced
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x72dda7
push 0x89c280
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x72dd90
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x320], edx
mov dword [ecx + 0x960], 0
push ebx
push 0xc350
push 4
push ecx
call dword [sym.imp.MSVCRT.dll_fwrite]
push ebx
call dword [sym.imp.MSVCRT.dll_fflush]
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x18
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x72dda0
push 0x88a594
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
jmp 0x72d780
mov eax, 0x866af0
jmp 0x72dd7f
mov eax, 0x866af0
jmp 0x72dd2a
mov edx, 0x866af0
jmp 0x72dcc4
mov eax, 0x866af0
jmp 0x72d767
lea edx, [ebp - 0x2d8]
push 0x866c6c
push edx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
movzx edx, al
test edx, edx
je 0x72dc1f
push 0x30d40
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [ebp - 0x18], eax
push 0
call dword [sym.imp.MSVCRT.dll_time]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x98]
push eax
call dword [sym.imp.MSVCRT.dll_gmtime]
add esp, 0xc
movzx edx, byte [eax + 0x14]
shl edx, 4
mov ecx, dword [ebp - 0x14]
or edx, dword [eax + 0x10]
shl edx, 5
or edx, dword [eax + 0xc]
shl edx, 9
mov dword [ebp - 0x1c], edx
call fcn.0072f284
and eax, 0x1ff
lea ebx, [ebp - 0x94]
or dword [ebp - 0x1c], eax
xor eax, eax
and eax, 0xff
mov edx, eax
shl edx, 8
or eax, edx
mov ecx, eax
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x60], eax
add esp, 0xfffffff8
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x1c]
call fcn.0072f42c
lea eax, [ebp - 0x94]
push 0x21
push eax
call fcn.00730254
add esp, 0x10
push eax
mov ecx, dword [ebp - 0x14]
push 0x89c26c
call fcn.0072f334
mov edi, 0xafe55eaa
xor esi, esi
xor edx, edx
test esi, esi
je 0x72dee4
mov eax, edi
and eax, 0x7fff
xor edx, edx
div esi
mov eax, dword [ebp - 0x18]
add edi, dword [eax + edx*4]
mov dword [eax + esi*4], edi
add ebx, edi
mov ecx, edi
and ecx, 2
inc esi
shl edi, cl
xor ebx, edi
add ebx, 3
mov edi, ebx
cmp esi, 0xc350
jb 0x72ded3
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x72dff9
push 0x89c280
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x72df5f
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x320], edx
mov dword [ecx + 0x960], 0
push ebx
push 0xc350
push 4
push ecx
call dword [sym.imp.MSVCRT.dll_fwrite]
push ebx
call dword [sym.imp.MSVCRT.dll_fflush]
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x18
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x2b8]
call fcn.0072f464
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2e8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2f8]
push 1
call fcn.0072e018
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
push 1
call fcn.0072e018
xor eax, eax
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov eax, 0x866af0
jmp 0x72df14
mov eax, 0x866af0
jmp 0x72d632
mov eax, 0x866af0
jmp 0x72d44e