Function at 0x405f30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42f770
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x43800c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [0x438420]
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x405f98
cmp byte [edi + 1], 0
je 0x405f98
mov byte [eax + 0x10], 0
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x405f98
mov ecx, esi
call fcn.00424590
mov eax, dword [0x438420]
test eax, eax
je 0x405f92
dec dword [eax + 0xb0]
push esi
call ebx
add esp, 4
mov dword [edi + 0x2c], 0
mov ecx, dword [edi + 0x3c0c]
test ecx, ecx
je 0x405fdc
mov eax, dword [0x438420]
mov dword [edi + 0x3c08], 0
mov dword [edi + 0x3c04], 0
test eax, eax
je 0x405fcc
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3c0c], 0
cmp byte [edi], 0
je 0x4069db
cmp byte [edi + 0x5b24], 0
je 0x406048
mov esi, dword [edi + 0x20]
test esi, esi
je 0x406048
mov eax, dword [0x438420]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0
mov dword [eax + 0x5b28], 0
call fcn.004177f0
mov edx, 0x430f68
mov dword [ebp - 0x14], eax
mov ecx, esi
call fcn.00404510
mov esi, eax
test esi, esi
je 0x406048
push esi
push dword [ebp - 0x10]
mov dword [ebp - 0x1c], 0
push 1
push dword [ebp - 0x14]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
mov eax, dword [edi + 0x5b5c]
mov esi, dword [edi + 0x5b64]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [ebp - 0x14], eax
cmp esi, eax
je 0x40607b
cmp dword [esi + 4], 6
jne 0x406074
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
mov eax, dword [ebp - 0x14]
add esp, 8
add esi, 0x14
cmp esi, eax
jne 0x406061
xor esi, esi
lea ecx, [edi + 0x3e20]
mov dword [ebp - 0x10], ecx
cmp dword [edi + 0x3e18], esi
jle 0x4060cb
nop
mov eax, dword [ecx]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4060c0
mov ecx, eax
call fcn.00407120
mov eax, dword [0x438420]
test eax, eax
je 0x4060b2
dec dword [eax + 0xb0]
push dword [ebp - 0x14]
call ebx
add esp, 4
lea ecx, [edi + 0x3e20]
inc esi
cmp esi, dword [edi + 0x3e18]
jl 0x406090
jmp 0x4060ce
mov dword [ebp - 0x10], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x406106
mov eax, dword [0x438420]
mov dword [edi + 0x3e1c], 0
mov dword [edi + 0x3e18], 0
test eax, eax
je 0x4060f7
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [edi + 0x3e2c]
test ecx, ecx
je 0x406143
mov eax, dword [0x438420]
mov dword [edi + 0x3e28], 0
mov dword [edi + 0x3e24], 0
test eax, eax
je 0x406133
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3e2c], 0
mov ecx, dword [edi + 0x3e38]
test ecx, ecx
je 0x406180
mov eax, dword [0x438420]
mov dword [edi + 0x3e34], 0
mov dword [edi + 0x3e30], 0
test eax, eax
je 0x406170
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3e38], 0
mov dword [edi + 0x3e60], 0
mov ecx, dword [edi + 0x3e44]
test ecx, ecx
je 0x4061c7
mov eax, dword [0x438420]
mov dword [edi + 0x3e40], 0
mov dword [edi + 0x3e3c], 0
test eax, eax
je 0x4061b7
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3e44], 0
mov ecx, dword [edi + 0x3e50]
test ecx, ecx
je 0x406204
mov eax, dword [0x438420]
mov dword [edi + 0x3e4c], 0
mov dword [edi + 0x3e48], 0
test eax, eax
je 0x4061f4
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3e50], 0
lea ecx, [edi + 0x4578]
mov dword [edi + 0x47f8], 0
mov dword [edi + 0x3e68], 0
mov dword [edi + 0x3e64], 0
mov dword [edi + 0x3edc], 0
mov dword [edi + 0x3ec8], 0
mov dword [edi + 0x3e6c], 0
call fcn.00402000
mov ecx, dword [edi + 0x4784]
test ecx, ecx
je 0x406288
mov eax, dword [0x438420]
mov dword [edi + 0x4780], 0
mov dword [edi + 0x477c], 0
test eax, eax
je 0x406278
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4784], 0
mov ecx, dword [edi + 0x4790]
test ecx, ecx
je 0x4062c5
mov eax, dword [0x438420]
mov dword [edi + 0x478c], 0
mov dword [edi + 0x4788], 0
test eax, eax
je 0x4062b5
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4790], 0
mov ecx, dword [edi + 0x479c]
test ecx, ecx
je 0x406302
mov eax, dword [0x438420]
mov dword [edi + 0x4798], 0
mov dword [edi + 0x4794], 0
test eax, eax
je 0x4062f2
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x479c], 0
mov ecx, dword [edi + 0x47cc]
test ecx, ecx
je 0x40633f
mov eax, dword [0x438420]
mov dword [edi + 0x47c8], 0
mov dword [edi + 0x47c4], 0
test eax, eax
je 0x40632f
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x47cc], 0
mov ecx, dword [edi + 0x47d8]
test ecx, ecx
je 0x40637c
mov eax, dword [0x438420]
mov dword [edi + 0x47d4], 0
mov dword [edi + 0x47d0], 0
test eax, eax
je 0x40636c
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x47d8], 0
mov ecx, dword [edi + 0x47e4]
test ecx, ecx
je 0x4063b9
mov eax, dword [0x438420]
mov dword [edi + 0x47e0], 0
mov dword [edi + 0x47dc], 0
test eax, eax
je 0x4063a9
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x47e4], 0
xor ecx, ecx
lea edx, [edi + 0x47f4]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
cmp dword [edi + 0x47ec], ecx
jle 0x4064a2
mov eax, dword [edx]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x406490
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x406408
mov ecx, eax
call fcn.00401dc0
mov eax, dword [0x438420]
test eax, eax
je 0x406400
dec dword [eax + 0xb0]
push dword [ebp - 0x1c]
call ebx
add esp, 4
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x406430
mov ecx, eax
call fcn.00401dc0
mov eax, dword [0x438420]
test eax, eax
je 0x406428
dec dword [eax + 0xb0]
push dword [ebp - 0x1c]
call ebx
add esp, 4
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x40644f
mov eax, dword [0x438420]
test eax, eax
je 0x406449
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x40646b
mov eax, dword [0x438420]
test eax, eax
je 0x406465
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x438420]
test eax, eax
je 0x406481
dec dword [eax + 0xb0]
push esi
call ebx
mov ecx, dword [ebp - 0x10]
lea edx, [edi + 0x47f4]
add esp, 4
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [edi + 0x47ec]
jl 0x4063d3
jmp 0x4064a5
mov dword [ebp - 0x14], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x4064dd
mov eax, dword [0x438420]
mov dword [edi + 0x47f0], 0
mov dword [edi + 0x47ec], 0
test eax, eax
je 0x4064ce
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 0x14]
add esp, 4
mov dword [eax], 0
lea ecx, [edi + 0x4ac4]
call fcn.00418900
mov ecx, dword [edi + 0x4aec]
test ecx, ecx
je 0x406525
mov eax, dword [0x438420]
mov dword [edi + 0x4ae8], 0
mov dword [edi + 0x4ae4], 0
test eax, eax
je 0x406515
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4aec], 0
mov ecx, dword [edi + 0x4af8]
test ecx, ecx
je 0x406562
mov eax, dword [0x438420]
mov dword [edi + 0x4af4], 0
mov dword [edi + 0x4af0], 0
test eax, eax
je 0x406552
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4af8], 0
xor esi, esi
lea eax, [edi + 0x4a70]
mov dword [ebp - 0x10], eax
cmp dword [edi + 0x4a68], esi
jle 0x4065c6
xor ecx, ecx
mov dword [ebp - 0x14], ecx
nop word [eax + eax]
mov eax, dword [eax]
mov edx, dword [eax + ecx + 0x18]
test edx, edx
je 0x4065a2
mov eax, dword [0x438420]
test eax, eax
je 0x406599
dec dword [eax + 0xb0]
push edx
call ebx
mov ecx, dword [ebp - 0x14]
add esp, 4
inc esi
mov dword [ebp - 4], 0xffffffff
add ecx, 0x1c
lea eax, [edi + 0x4a70]
mov dword [ebp - 0x14], ecx
cmp esi, dword [edi + 0x4a68]
jl 0x406580
lea eax, [edi + 0x4a70]
jmp 0x4065c9
mov dword [ebp - 0x10], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x406601
mov eax, dword [0x438420]
mov dword [edi + 0x4a6c], 0
mov dword [edi + 0x4a68], 0
test eax, eax
je 0x4065f2
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [eax], 0
lea ecx, [edi + 0x4a88]
call fcn.00418aa0
cmp dword [edi + 0x4a7c], 0
lea esi, [edi + 0x4a84]
mov dword [ebp - 0x14], 0
jle 0x406681
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov esi, dword [esi]
add esi, ecx
lea ecx, [esi + 0x10]
mov dword [ebp - 4], 4
call fcn.00423ee0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x406656
mov eax, dword [0x438420]
test eax, eax
je 0x406650
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov eax, dword [ebp - 0x14]
lea esi, [edi + 0x4a84]
mov dword [ebp - 4], 0xffffffff
inc eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x68
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
cmp eax, dword [edi + 0x4a7c]
jl 0x406627
lea esi, [edi + 0x4a84]
mov ecx, dword [esi]
test ecx, ecx
je 0x4066b6
mov eax, dword [0x438420]
mov dword [edi + 0x4a80], 0
mov dword [edi + 0x4a7c], 0
test eax, eax
je 0x4066aa
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [esi], 0
mov ecx, dword [edi + 0x4abc]
test ecx, ecx
je 0x4066f3
mov eax, dword [0x438420]
mov dword [edi + 0x4ab8], 0
mov dword [edi + 0x4ab4], 0
test eax, eax
je 0x4066e3
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4abc], 0
mov ecx, dword [edi + 0x5a94]
test ecx, ecx
je 0x406730
mov eax, dword [0x438420]
mov dword [edi + 0x5a90], 0
mov dword [edi + 0x5a8c], 0
test eax, eax
je 0x406720
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5a94], 0
mov ecx, dword [edi + 0x5aa0]
test ecx, ecx
je 0x40676d
mov eax, dword [0x438420]
mov dword [edi + 0x5a9c], 0
mov dword [edi + 0x5a98], 0
test eax, eax
je 0x40675d
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5aa0], 0
mov ecx, dword [edi + 0x4b3c]
test ecx, ecx
je 0x4067aa
mov eax, dword [0x438420]
mov dword [edi + 0x4b38], 0
mov dword [edi + 0x4b34], 0
test eax, eax
je 0x40679a
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4b3c], 0
mov ecx, dword [edi + 0x4b48]
test ecx, ecx
je 0x4067e7
mov eax, dword [0x438420]
mov dword [edi + 0x4b44], 0
mov dword [edi + 0x4b40], 0
test eax, eax
je 0x4067d7
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4b48], 0
mov ecx, dword [edi + 0x4b54]
test ecx, ecx
je 0x406824
mov eax, dword [0x438420]
mov dword [edi + 0x4b50], 0
mov dword [edi + 0x4b4c], 0
test eax, eax
je 0x406814
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4b54], 0
mov dword [edi + 0x599c], 0
mov ecx, dword [edi + 0x59a8]
test ecx, ecx
je 0x40686b
mov eax, dword [0x438420]
mov dword [edi + 0x59a4], 0
mov dword [edi + 0x59a0], 0
test eax, eax
je 0x40685b
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x59a8], 0
mov ecx, dword [edi + 0x5b4c]
test ecx, ecx
je 0x4068a8
mov eax, dword [0x438420]
mov dword [edi + 0x5b48], 0
mov dword [edi + 0x5b44], 0
test eax, eax
je 0x406898
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5b4c], 0
mov ecx, dword [edi + 0x5b40]
test ecx, ecx
je 0x4068e5
mov eax, dword [0x438420]
mov dword [edi + 0x5b3c], 0
mov dword [edi + 0x5b38], 0
test eax, eax
je 0x4068d5
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5b40], 0
cmp dword [edi + 0x5b94], 0
je 0x406917
mov esi, dword [edi + 0x5b94]
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
cmp esi, eax
je 0x40690d
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov dword [edi + 0x5b94], 0
mov ecx, dword [edi + 0x5ba0]
test ecx, ecx
je 0x406954
mov eax, dword [0x438420]
mov dword [edi + 0x5b9c], 0
mov dword [edi + 0x5b98], 0
test eax, eax
je 0x406944
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5ba0], 0
mov ecx, dword [edi + 0x5bcc]
test ecx, ecx
je 0x406991
mov eax, dword [0x438420]
mov dword [edi + 0x5bc8], 0
mov dword [edi + 0x5bc4], 0
test eax, eax
je 0x406981
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5bcc], 0
mov ecx, dword [edi + 0x5bd8]
test ecx, ecx
je 0x4069ce
mov eax, dword [0x438420]
mov dword [edi + 0x5bd4], 0
mov dword [edi + 0x5bd0], 0
test eax, eax
je 0x4069be
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5bd8], 0
mov dword [edi + 0x5bdc], 0
mov byte [edi], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret