Function at 0x10052310
Capabilities:
Write file on windows

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push ebp
push esi
push edi
mov edi, ecx
mov edx, dword [edi + 0x98]
lea ecx, [edi + 0x98]
test edx, edx
je 0x10052458
cmp byte [edi + 1], 0
lea ecx, [edi + 0x98]
je 0x10052458
mov byte [edx + 0x10], 0
lea ecx, [edi + 0x98]
mov ebp, dword [edi + 0x98]
test ebp, ebp
je 0x10052458
mov ecx, ebp
call fcn.10064b40
mov ecx, ebp
call fcn.10064c60
xor esi, esi
lea ecx, [ebp + 0x3c]
mov dword [esp + 0x14], ecx
cmp dword [ebp + 0x34], esi
jle 0x100523ae
mov eax, dword [ecx]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x100523a6
mov ecx, eax
call fcn.10065b20
mov eax, dword [0x101c18e4]
test eax, eax
je 0x1005239a
dec dword [eax + 0x370]
push dword [esp + 0x18]
call ebx
add esp, 4
lea ecx, [ebp + 0x3c]
inc esi
cmp esi, dword [ebp + 0x34]
jl 0x10052377
jmp 0x100523b2
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x100523e5
mov eax, dword [0x101c18e4]
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x34], 0
test eax, eax
je 0x100523d5
dec dword [eax + 0x370]
push ecx
call ebx
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [eax], 0
mov byte [ebp + 0x11], 0
mov ecx, dword [ebp + 0x54]
test ecx, ecx
je 0x10052405
mov eax, dword [0x101c18e4]
test eax, eax
je 0x100523ff
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov ecx, dword [ebp + 0x48]
test ecx, ecx
je 0x10052421
mov eax, dword [0x101c18e4]
test eax, eax
je 0x1005241b
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov ecx, dword [ebp + 0x3c]
test ecx, ecx
je 0x1005243d
mov eax, dword [0x101c18e4]
test eax, eax
je 0x10052437
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov eax, dword [0x101c18e4]
test eax, eax
je 0x1005244c
dec dword [eax + 0x370]
push ebp
call ebx
add esp, 4
lea ecx, [edi + 0x98]
cmp byte [edi], 0
mov dword [ecx], 0
je 0x10052c27
cmp byte [edi + 0x2f1d], 0
je 0x100524d5
mov esi, dword [edi + 0x20]
test esi, esi
je 0x100524d5
mov ebp, dword [0x101c18e4]
lea ecx, [esp + 0x14]
mov dword [0x101c18e4], edi
mov dword [edi + 0x2f20], 0
mov dword [esp + 0x14], 0
call fcn.1005f080
mov edx, 0x101afa54
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.1004d3e0
mov esi, eax
test esi, esi
je 0x100524cf
push esi
push dword [esp + 0x18]
push 1
push dword [esp + 0x24]
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 dword [0x101c18e4], ebp
mov edx, 6
mov ecx, edi
call fcn.1004feb0
xor esi, esi
cmp dword [edi + 0x1b64], esi
jle 0x10052522
nop dword [eax + eax]
mov eax, dword [edi + 0x1b6c]
mov ebp, dword [eax + esi*4]
test ebp, ebp
je 0x10052519
mov ecx, ebp
call fcn.1004f770
mov eax, dword [0x101c18e4]
test eax, eax
je 0x10052513
dec dword [eax + 0x370]
push ebp
call ebx
add esp, 4
inc esi
cmp esi, dword [edi + 0x1b64]
jl 0x100524f0
mov ecx, dword [edi + 0x1b6c]
test ecx, ecx
je 0x1005255f
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1b68], 0
mov dword [edi + 0x1b64], 0
test eax, eax
je 0x1005254f
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1b6c], 0
mov ecx, dword [edi + 0x1b78]
test ecx, ecx
je 0x1005259c
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1b74], 0
mov dword [edi + 0x1b70], 0
test eax, eax
je 0x1005258c
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1b78], 0
mov ecx, dword [edi + 0x1b84]
test ecx, ecx
je 0x100525d9
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1b80], 0
mov dword [edi + 0x1b7c], 0
test eax, eax
je 0x100525c9
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1b84], 0
mov dword [edi + 0x1bac], 0
mov ecx, dword [edi + 0x1b90]
test ecx, ecx
je 0x10052620
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1b8c], 0
mov dword [edi + 0x1b88], 0
test eax, eax
je 0x10052610
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1b90], 0
mov ecx, dword [edi + 0x1b9c]
test ecx, ecx
je 0x1005265d
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1b98], 0
mov dword [edi + 0x1b94], 0
test eax, eax
je 0x1005264d
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1b9c], 0
mov dword [edi + 0x1d44], 0
mov dword [edi + 0x1bb4], 0
mov dword [edi + 0x1bb0], 0
mov dword [edi + 0x1c24], 0
mov dword [edi + 0x1c10], 0
mov dword [edi + 0x1bb8], 0
mov ecx, dword [edi + 0x1ce0]
test ecx, ecx
je 0x100526d6
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1cdc], 0
mov dword [edi + 0x1cd8], 0
test eax, eax
je 0x100526c6
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1ce0], 0
mov ecx, dword [edi + 0x1cec]
test ecx, ecx
je 0x10052713
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1ce8], 0
mov dword [edi + 0x1ce4], 0
test eax, eax
je 0x10052703
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1cec], 0
mov ecx, dword [edi + 0x1cf8]
test ecx, ecx
je 0x10052750
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1cf4], 0
mov dword [edi + 0x1cf0], 0
test eax, eax
je 0x10052740
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1cf8], 0
mov ecx, dword [edi + 0x1d28]
test ecx, ecx
je 0x1005278d
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1d24], 0
mov dword [edi + 0x1d20], 0
test eax, eax
je 0x1005277d
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1d28], 0
mov ecx, dword [edi + 0x1d34]
test ecx, ecx
je 0x100527ca
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1d30], 0
mov dword [edi + 0x1d2c], 0
test eax, eax
je 0x100527ba
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1d34], 0
xor ebp, ebp
cmp dword [edi + 0x1d38], ebp
jle 0x1005286b
nop dword [eax + eax]
mov eax, dword [edi + 0x1d40]
mov esi, dword [eax + ebp*4]
test esi, esi
je 0x1005285e
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
test eax, eax
je 0x10052817
mov ecx, eax
call fcn.1004b9d0
mov eax, dword [0x101c18e4]
test eax, eax
je 0x1005280e
dec dword [eax + 0x370]
push dword [esp + 0x18]
call ebx
add esp, 4
mov eax, dword [esi + 0x30]
mov dword [esp + 0x18], eax
test eax, eax
je 0x10052841
mov ecx, eax
call fcn.1004b9d0
mov eax, dword [0x101c18e4]
test eax, eax
je 0x10052838
dec dword [eax + 0x370]
push dword [esp + 0x18]
call ebx
add esp, 4
lea ecx, [esi + 0x60]
call fcn.1004bb00
mov eax, dword [0x101c18e4]
test eax, eax
je 0x10052858
dec dword [eax + 0x370]
push esi
call ebx
add esp, 4
inc ebp
cmp ebp, dword [edi + 0x1d38]
jl 0x100527e0
mov ecx, dword [edi + 0x1d40]
test ecx, ecx
je 0x100528a8
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1d3c], 0
mov dword [edi + 0x1d38], 0
test eax, eax
je 0x10052898
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1d40], 0
lea ecx, [edi + 0x1f68]
call fcn.1005f850
mov ecx, dword [edi + 0x1f90]
test ecx, ecx
je 0x100528f0
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1f8c], 0
mov dword [edi + 0x1f88], 0
test eax, eax
je 0x100528e0
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1f90], 0
mov ecx, dword [edi + 0x1f9c]
test ecx, ecx
je 0x1005292d
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1f98], 0
mov dword [edi + 0x1f94], 0
test eax, eax
je 0x1005291d
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1f9c], 0
lea ecx, [edi + 0x1f20]
call fcn.1005f930
xor ebp, ebp
cmp dword [edi + 0x1f40], ebp
jle 0x10052990
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop dword [eax + eax]
mov esi, dword [edi + 0x1f48]
add esi, ecx
lea ecx, [esi + 0x10]
call fcn.10064330
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x1005297c
mov eax, dword [0x101c18e4]
test eax, eax
je 0x10052976
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov ecx, dword [esp + 0x14]
inc ebp
add ecx, 0x68
mov dword [esp + 0x14], ecx
cmp ebp, dword [edi + 0x1f40]
jl 0x10052950
mov ecx, dword [edi + 0x1f48]
test ecx, ecx
je 0x100529cd
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1f44], 0
mov dword [edi + 0x1f40], 0
test eax, eax
je 0x100529bd
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1f48], 0
mov ecx, dword [edi + 0x1f60]
test ecx, ecx
je 0x10052a0a
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1f5c], 0
mov dword [edi + 0x1f58], 0
test eax, eax
je 0x100529fa
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1f60], 0
mov ecx, dword [edi + 0x2efc]
test ecx, ecx
je 0x10052a47
mov eax, dword [0x101c18e4]
mov dword [edi + 0x2ef8], 0
mov dword [edi + 0x2ef4], 0
test eax, eax
je 0x10052a37
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x2efc], 0
mov ecx, dword [edi + 0x2f08]
test ecx, ecx
je 0x10052a84
mov eax, dword [0x101c18e4]
mov dword [edi + 0x2f04], 0
mov dword [edi + 0x2f00], 0
test eax, eax
je 0x10052a74
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x2f08], 0
mov ecx, dword [edi + 0x1fbc]
test ecx, ecx
je 0x10052ac1
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1fb8], 0
mov dword [edi + 0x1fb4], 0
test eax, eax
je 0x10052ab1
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1fbc], 0
mov ecx, dword [edi + 0x1fc8]
test ecx, ecx
je 0x10052afe
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1fc4], 0
mov dword [edi + 0x1fc0], 0
test eax, eax
je 0x10052aee
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1fc8], 0
mov ecx, dword [edi + 0x1fd4]
test ecx, ecx
je 0x10052b3b
mov eax, dword [0x101c18e4]
mov dword [edi + 0x1fd0], 0
mov dword [edi + 0x1fcc], 0
test eax, eax
je 0x10052b2b
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x1fd4], 0
mov ecx, dword [edi + 0x2f44]
test ecx, ecx
je 0x10052b78
mov eax, dword [0x101c18e4]
mov dword [edi + 0x2f40], 0
mov dword [edi + 0x2f3c], 0
test eax, eax
je 0x10052b68
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x2f44], 0
mov ecx, dword [edi + 0x2f38]
test ecx, ecx
je 0x10052bb5
mov eax, dword [0x101c18e4]
mov dword [edi + 0x2f34], 0
mov dword [edi + 0x2f30], 0
test eax, eax
je 0x10052ba5
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x2f38], 0
cmp dword [edi + 0x2f6c], 0
je 0x10052be7
mov esi, dword [edi + 0x2f6c]
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 0x10052bdd
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov dword [edi + 0x2f6c], 0
mov ecx, dword [edi + 0x2f78]
test ecx, ecx
je 0x10052c24
mov eax, dword [0x101c18e4]
mov dword [edi + 0x2f74], 0
mov dword [edi + 0x2f70], 0
test eax, eax
je 0x10052c14
dec dword [eax + 0x370]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x2f78], 0
mov byte [edi], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret