Function at 0x10014650
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100900c0
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x1010300c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1014ec70]
mov edi, eax
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x1001472c
cmp byte [edi + 1], 0
je 0x1001472c
mov byte [ecx + 0x10], 0
mov esi, dword [edi + 0x48]
test esi, esi
je 0x1001472c
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.1002fe60
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x100146d3
mov eax, dword [0x1014ec70]
test eax, eax
je 0x100146cd
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x100146ef
mov eax, dword [0x1014ec70]
test eax, eax
je 0x100146e9
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x1001470b
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014705
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014721
dec dword [eax + 0xb0]
push esi
call ebx
mov eax, dword [0x1014ec70]
add esp, 4
cmp byte [edi], 0
mov dword [edi + 0x48], 0
je 0x1001501d
cmp byte [edi + 0x5205], 0
je 0x1001479a
mov esi, dword [edi + 0x20]
test esi, esi
je 0x1001479a
lea ecx, [ebp - 0x10]
mov dword [eax + 0x5208], 0
mov dword [ebp - 0x10], 0
call fcn.10023130
mov edx, 0x100fad70
mov dword [ebp - 0x14], eax
mov ecx, esi
call fcn.1000eee0
mov esi, eax
test esi, esi
je 0x1001479a
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 edx, 6
mov ecx, edi
call fcn.10011b90
xor esi, esi
lea ecx, [edi + 0x3dd8]
mov dword [ebp - 0x10], ecx
cmp dword [edi + 0x3dd0], esi
jle 0x100147fb
nop dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x100147f0
mov ecx, eax
call fcn.100114e0
mov eax, dword [0x1014ec70]
test eax, eax
je 0x100147e2
dec dword [eax + 0xb0]
push dword [ebp - 0x14]
call ebx
add esp, 4
lea ecx, [edi + 0x3dd8]
inc esi
cmp esi, dword [edi + 0x3dd0]
jl 0x100147c0
jmp 0x100147fe
mov dword [ebp - 0x10], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x10014836
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3dd4], 0
mov dword [edi + 0x3dd0], 0
test eax, eax
je 0x10014827
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [eax], 0
mov ecx, dword [edi + 0x3de4]
test ecx, ecx
je 0x10014873
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3de0], 0
mov dword [edi + 0x3ddc], 0
test eax, eax
je 0x10014863
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3de4], 0
mov ecx, dword [edi + 0x3df0]
test ecx, ecx
je 0x100148b0
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3dec], 0
mov dword [edi + 0x3de8], 0
test eax, eax
je 0x100148a0
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3df0], 0
mov dword [edi + 0x3e18], 0
mov ecx, dword [edi + 0x3dfc]
test ecx, ecx
je 0x100148f7
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3df8], 0
mov dword [edi + 0x3df4], 0
test eax, eax
je 0x100148e7
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3dfc], 0
mov ecx, dword [edi + 0x3e08]
test ecx, ecx
je 0x10014934
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3e04], 0
mov dword [edi + 0x3e00], 0
test eax, eax
je 0x10014924
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3e08], 0
mov dword [edi + 0x3fcc], 0
mov dword [edi + 0x3e20], 0
mov dword [edi + 0x3e1c], 0
mov dword [edi + 0x3e80], 0
mov dword [edi + 0x3e6c], 0
mov dword [edi + 0x3e24], 0
mov ecx, dword [edi + 0x3f64]
test ecx, ecx
je 0x100149ad
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3f60], 0
mov dword [edi + 0x3f5c], 0
test eax, eax
je 0x1001499d
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3f64], 0
mov ecx, dword [edi + 0x3f70]
test ecx, ecx
je 0x100149ea
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3f6c], 0
mov dword [edi + 0x3f68], 0
test eax, eax
je 0x100149da
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3f70], 0
mov ecx, dword [edi + 0x3f7c]
test ecx, ecx
je 0x10014a27
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3f78], 0
mov dword [edi + 0x3f74], 0
test eax, eax
je 0x10014a17
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3f7c], 0
mov ecx, dword [edi + 0x3fac]
test ecx, ecx
je 0x10014a64
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3fa8], 0
mov dword [edi + 0x3fa4], 0
test eax, eax
je 0x10014a54
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3fac], 0
mov ecx, dword [edi + 0x3fb8]
test ecx, ecx
je 0x10014aa1
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3fb4], 0
mov dword [edi + 0x3fb0], 0
test eax, eax
je 0x10014a91
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3fb8], 0
xor ecx, ecx
lea edx, [edi + 0x3fc8]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
cmp dword [edi + 0x3fc0], ecx
jle 0x10014b71
nop dword [eax + eax]
mov eax, dword [edx]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x10014b5f
mov dword [ebp - 4], 4
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10014afc
mov ecx, eax
call fcn.1000ce50
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014af4
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 0x10014b24
mov ecx, eax
call fcn.1000ce50
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014b1c
dec dword [eax + 0xb0]
push dword [ebp - 0x1c]
call ebx
add esp, 4
push 0x10023bf0
push 2
push 0xc
lea eax, [esi + 0x64]
mov byte [ebp - 4], 5
push eax
call fcn.1008ddb4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014b50
dec dword [eax + 0xb0]
push esi
call ebx
mov ecx, dword [ebp - 0x10]
lea edx, [edi + 0x3fc8]
add esp, 4
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [edi + 0x3fc0]
jl 0x10014ac0
jmp 0x10014b74
mov dword [ebp - 0x14], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x10014bac
mov eax, dword [0x1014ec70]
mov dword [edi + 0x3fc4], 0
mov dword [edi + 0x3fc0], 0
test eax, eax
je 0x10014b9d
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 0x14]
add esp, 4
mov dword [eax], 0
lea ecx, [edi + 0x423c]
call fcn.10023c50
mov ecx, dword [edi + 0x4264]
test ecx, ecx
je 0x10014bf4
mov eax, dword [0x1014ec70]
mov dword [edi + 0x4260], 0
mov dword [edi + 0x425c], 0
test eax, eax
je 0x10014be4
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4264], 0
mov ecx, dword [edi + 0x4270]
test ecx, ecx
je 0x10014c31
mov eax, dword [0x1014ec70]
mov dword [edi + 0x426c], 0
mov dword [edi + 0x4268], 0
test eax, eax
je 0x10014c21
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4270], 0
xor esi, esi
lea eax, [edi + 0x41e8]
mov dword [ebp - 0x10], eax
cmp dword [edi + 0x41e0], esi
jle 0x10014c96
xor ecx, ecx
mov dword [ebp - 0x14], ecx
nop dword [eax]
mov eax, dword [eax]
mov edx, dword [eax + ecx + 0x18]
test edx, edx
je 0x10014c72
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014c69
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 + 0x41e8]
mov dword [ebp - 0x14], ecx
cmp esi, dword [edi + 0x41e0]
jl 0x10014c50
lea eax, [edi + 0x41e8]
jmp 0x10014c99
mov dword [ebp - 0x10], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x10014cd1
mov eax, dword [0x1014ec70]
mov dword [edi + 0x41e4], 0
mov dword [edi + 0x41e0], 0
test eax, eax
je 0x10014cc2
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [eax], 0
lea ecx, [edi + 0x4200]
call fcn.10023df0
cmp dword [edi + 0x41f4], 0
lea esi, [edi + 0x41fc]
mov dword [ebp - 0x14], 0
jle 0x10014d51
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov esi, dword [esi]
add esi, ecx
lea ecx, [esi + 0x10]
mov dword [ebp - 4], 7
call fcn.1002f560
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x10014d26
mov eax, dword [0x1014ec70]
test eax, eax
je 0x10014d20
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov eax, dword [ebp - 0x14]
lea esi, [edi + 0x41fc]
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 + 0x41f4]
jl 0x10014cf7
lea esi, [edi + 0x41fc]
mov ecx, dword [esi]
test ecx, ecx
je 0x10014d86
mov eax, dword [0x1014ec70]
mov dword [edi + 0x41f8], 0
mov dword [edi + 0x41f4], 0
test eax, eax
je 0x10014d7a
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [esi], 0
mov ecx, dword [edi + 0x4234]
test ecx, ecx
je 0x10014dc3
mov eax, dword [0x1014ec70]
mov dword [edi + 0x4230], 0
mov dword [edi + 0x422c], 0
test eax, eax
je 0x10014db3
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4234], 0
mov ecx, dword [edi + 0x51d4]
test ecx, ecx
je 0x10014e00
mov eax, dword [0x1014ec70]
mov dword [edi + 0x51d0], 0
mov dword [edi + 0x51cc], 0
test eax, eax
je 0x10014df0
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x51d4], 0
mov ecx, dword [edi + 0x51e0]
test ecx, ecx
je 0x10014e3d
mov eax, dword [0x1014ec70]
mov dword [edi + 0x51dc], 0
mov dword [edi + 0x51d8], 0
test eax, eax
je 0x10014e2d
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x51e0], 0
mov ecx, dword [edi + 0x42a0]
test ecx, ecx
je 0x10014e7a
mov eax, dword [0x1014ec70]
mov dword [edi + 0x429c], 0
mov dword [edi + 0x4298], 0
test eax, eax
je 0x10014e6a
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x42a0], 0
mov ecx, dword [edi + 0x42ac]
test ecx, ecx
je 0x10014eb7
mov eax, dword [0x1014ec70]
mov dword [edi + 0x42a8], 0
mov dword [edi + 0x42a4], 0
test eax, eax
je 0x10014ea7
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x42ac], 0
mov ecx, dword [edi + 0x42b8]
test ecx, ecx
je 0x10014ef4
mov eax, dword [0x1014ec70]
mov dword [edi + 0x42b4], 0
mov dword [edi + 0x42b0], 0
test eax, eax
je 0x10014ee4
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x42b8], 0
mov ecx, dword [edi + 0x522c]
test ecx, ecx
je 0x10014f31
mov eax, dword [0x1014ec70]
mov dword [edi + 0x5228], 0
mov dword [edi + 0x5224], 0
test eax, eax
je 0x10014f21
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x522c], 0
mov ecx, dword [edi + 0x5220]
test ecx, ecx
je 0x10014f6e
mov eax, dword [0x1014ec70]
mov dword [edi + 0x521c], 0
mov dword [edi + 0x5218], 0
test eax, eax
je 0x10014f5e
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5220], 0
cmp dword [edi + 0x5254], 0
je 0x10014fa0
mov esi, dword [edi + 0x5254]
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 0x10014f96
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov dword [edi + 0x5254], 0
mov ecx, dword [edi + 0x5260]
test ecx, ecx
je 0x10014fdd
mov eax, dword [0x1014ec70]
mov dword [edi + 0x525c], 0
mov dword [edi + 0x5258], 0
test eax, eax
je 0x10014fcd
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5260], 0
mov ecx, dword [edi + 0x528c]
test ecx, ecx
je 0x1001501a
mov eax, dword [0x1014ec70]
mov dword [edi + 0x5288], 0
mov dword [edi + 0x5284], 0
test eax, eax
je 0x1001500a
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x528c], 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