Function at 0x40e3a0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x563448]
sub esp, 0xc
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
push edi
mov edi, eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x40e44b
cmp byte [edi + 1], 0
je 0x40e44b
mov byte [ecx + 0x18], 0
mov esi, dword [edi + 0x40]
test esi, esi
je 0x40e44b
mov ecx, esi
call fcn.00434650
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x40e3f9
mov eax, dword [0x563448]
test eax, eax
je 0x40e3f3
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x40e415
mov eax, dword [0x563448]
test eax, eax
je 0x40e40f
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x40e431
mov eax, dword [0x563448]
test eax, eax
je 0x40e42b
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov eax, dword [0x563448]
test eax, eax
je 0x40e440
dec dword [eax + 0xb0]
push esi
call ebx
mov eax, dword [0x563448]
add esp, 4
cmp byte [edi], 0
mov dword [edi + 0x40], 0
je 0x40ed18
cmp byte [edi + 0x5370], 0
je 0x40e4b2
mov esi, dword [edi + 0x20]
test esi, esi
je 0x40e4b2
lea ecx, [ebp - 4]
mov dword [eax + 0x5374], 0
mov dword [ebp - 4], 0
call fcn.0041d8a0
mov edx, 0x4881f4
mov dword [ebp - 8], eax
mov ecx, esi
call fcn.00408f20
mov esi, eax
test esi, esi
je 0x40e4b2
push esi
push dword [ebp - 4]
push 1
push dword [ebp - 8]
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
call fcn.0041fd50
xor esi, esi
cmp dword [edi + 0x5348], esi
jle 0x40e4f9
mov eax, dword [edi + 0x5350]
mov eax, dword [eax + esi*8 + 4]
mov dword [ebp - 8], eax
test eax, eax
je 0x40e4f0
mov ecx, eax
call fcn.00421490
mov eax, dword [0x563448]
test eax, eax
je 0x40e4e8
dec dword [eax + 0xb0]
push dword [ebp - 8]
call ebx
add esp, 4
inc esi
cmp esi, dword [edi + 0x5348]
jl 0x40e4c1
xor esi, esi
cmp dword [edi + 0x53a8], esi
jle 0x40e53a
xor ecx, ecx
mov dword [ebp - 4], ecx
nop dword [eax + eax]
mov eax, dword [edi + 0x53b0]
add eax, ecx
cmp dword [eax + 4], 6
jne 0x40e52b
push eax
mov eax, dword [eax + 0xc]
push edi
call eax
mov ecx, dword [ebp - 4]
add esp, 8
inc esi
add ecx, 0x14
mov dword [ebp - 4], ecx
cmp esi, dword [edi + 0x53a8]
jl 0x40e510
xor esi, esi
lea ecx, [edi + 0x3ec4]
mov dword [ebp - 4], ecx
cmp dword [edi + 0x3ebc], esi
jle 0x40e58b
nop dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + esi*4]
mov dword [ebp - 8], eax
test eax, eax
je 0x40e580
mov ecx, eax
call fcn.0040b380
mov eax, dword [0x563448]
test eax, eax
je 0x40e572
dec dword [eax + 0xb0]
push dword [ebp - 8]
call ebx
add esp, 4
lea ecx, [edi + 0x3ec4]
inc esi
cmp esi, dword [edi + 0x3ebc]
jl 0x40e550
jmp 0x40e58e
mov dword [ebp - 4], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x40e5c6
mov eax, dword [0x563448]
mov dword [edi + 0x3ec0], 0
mov dword [edi + 0x3ebc], 0
test eax, eax
je 0x40e5b7
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 4]
add esp, 4
mov dword [eax], 0
mov ecx, dword [edi + 0x3ed0]
test ecx, ecx
je 0x40e603
mov eax, dword [0x563448]
mov dword [edi + 0x3ecc], 0
mov dword [edi + 0x3ec8], 0
test eax, eax
je 0x40e5f3
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3ed0], 0
mov ecx, dword [edi + 0x3edc]
test ecx, ecx
je 0x40e640
mov eax, dword [0x563448]
mov dword [edi + 0x3ed8], 0
mov dword [edi + 0x3ed4], 0
test eax, eax
je 0x40e630
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3edc], 0
mov dword [edi + 0x3f04], 0
mov ecx, dword [edi + 0x3ee8]
test ecx, ecx
je 0x40e687
mov eax, dword [0x563448]
mov dword [edi + 0x3ee4], 0
mov dword [edi + 0x3ee0], 0
test eax, eax
je 0x40e677
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3ee8], 0
mov ecx, dword [edi + 0x3ef4]
test ecx, ecx
je 0x40e6c4
mov eax, dword [0x563448]
mov dword [edi + 0x3ef0], 0
mov dword [edi + 0x3eec], 0
test eax, eax
je 0x40e6b4
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x3ef4], 0
mov dword [edi + 0x4124], 0
mov dword [edi + 0x3f0c], 0
mov dword [edi + 0x3f08], 0
mov dword [edi + 0x3f70], 0
mov dword [edi + 0x3f5c], 0
mov dword [edi + 0x3f14], 0
mov ecx, dword [edi + 0x4080]
test ecx, ecx
je 0x40e73d
mov eax, dword [0x563448]
mov dword [edi + 0x407c], 0
mov dword [edi + 0x4078], 0
test eax, eax
je 0x40e72d
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4080], 0
mov ecx, dword [edi + 0x408c]
test ecx, ecx
je 0x40e77a
mov eax, dword [0x563448]
mov dword [edi + 0x4088], 0
mov dword [edi + 0x4084], 0
test eax, eax
je 0x40e76a
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x408c], 0
mov ecx, dword [edi + 0x4098]
test ecx, ecx
je 0x40e7b7
mov eax, dword [0x563448]
mov dword [edi + 0x4094], 0
mov dword [edi + 0x4090], 0
test eax, eax
je 0x40e7a7
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x4098], 0
mov ecx, dword [edi + 0x40c8]
test ecx, ecx
je 0x40e7f4
mov eax, dword [0x563448]
mov dword [edi + 0x40c4], 0
mov dword [edi + 0x40c0], 0
test eax, eax
je 0x40e7e4
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x40c8], 0
mov ecx, dword [edi + 0x40d4]
test ecx, ecx
je 0x40e831
mov eax, dword [0x563448]
mov dword [edi + 0x40d0], 0
mov dword [edi + 0x40cc], 0
test eax, eax
je 0x40e821
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x40d4], 0
xor esi, esi
mov dword [edi + 0x40f4], 0
mov dword [edi + 0x40f0], 0
lea eax, [edi + 0x40e4]
mov dword [edi + 0x40ec], 0
mov dword [ebp - 4], eax
cmp dword [edi + 0x40dc], esi
jle 0x40e887
mov ecx, dword [edi + 0x40e4]
mov ecx, dword [ecx + esi*4]
call fcn.004291f0
inc esi
cmp esi, dword [edi + 0x40dc]
jl 0x40e862
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea eax, [edi + 0x40e4]
jmp 0x40e88a
mov dword [ebp - 4], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x40e8c2
mov eax, dword [0x563448]
mov dword [edi + 0x40e0], 0
mov dword [edi + 0x40dc], 0
test eax, eax
je 0x40e8b3
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 4]
add esp, 4
mov dword [eax], 0
lea ecx, [edi + 0x4384]
call fcn.00428450
mov ecx, dword [edi + 0x43ac]
test ecx, ecx
je 0x40e90a
mov eax, dword [0x563448]
mov dword [edi + 0x43a8], 0
mov dword [edi + 0x43a4], 0
test eax, eax
je 0x40e8fa
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x43ac], 0
mov ecx, dword [edi + 0x43b8]
test ecx, ecx
je 0x40e947
mov eax, dword [0x563448]
mov dword [edi + 0x43b4], 0
mov dword [edi + 0x43b0], 0
test eax, eax
je 0x40e937
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x43b8], 0
xor esi, esi
lea eax, [edi + 0x4330]
mov dword [ebp - 8], eax
cmp dword [edi + 0x4328], esi
jle 0x40e99f
xor ecx, ecx
mov dword [ebp - 4], ecx
nop
mov eax, dword [eax]
mov edx, dword [eax + ecx + 0x18]
test edx, edx
je 0x40e982
mov eax, dword [0x563448]
test eax, eax
je 0x40e979
dec dword [eax + 0xb0]
push edx
call ebx
mov ecx, dword [ebp - 4]
add esp, 4
inc esi
lea eax, [edi + 0x4330]
add ecx, 0x1c
mov dword [ebp - 4], ecx
cmp esi, dword [edi + 0x4328]
jl 0x40e960
lea eax, [edi + 0x4330]
jmp 0x40e9a2
mov dword [ebp - 8], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x40e9da
mov eax, dword [0x563448]
mov dword [edi + 0x432c], 0
mov dword [edi + 0x4328], 0
test eax, eax
je 0x40e9cb
dec dword [eax + 0xb0]
push ecx
call ebx
mov eax, dword [ebp - 8]
add esp, 4
mov dword [eax], 0
lea ecx, [edi + 0x4348]
call fcn.00428540
cmp dword [edi + 0x433c], 0
lea esi, [edi + 0x4344]
mov dword [ebp - 8], 0
jle 0x40ea4c
xor ecx, ecx
mov dword [ebp - 4], ecx
mov esi, dword [esi]
add esi, ecx
lea ecx, [esi + 0x10]
call fcn.00433d50
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x40ea28
mov eax, dword [0x563448]
test eax, eax
je 0x40ea22
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov eax, dword [ebp - 8]
lea esi, [edi + 0x4344]
mov ecx, dword [ebp - 4]
inc eax
add ecx, 0x68
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
cmp eax, dword [edi + 0x433c]
jl 0x40ea00
lea esi, [edi + 0x4344]
mov ecx, dword [esi]
test ecx, ecx
je 0x40ea81
mov eax, dword [0x563448]
mov dword [edi + 0x4340], 0
mov dword [edi + 0x433c], 0
test eax, eax
je 0x40ea75
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [esi], 0
mov ecx, dword [edi + 0x437c]
test ecx, ecx
je 0x40eabe
mov eax, dword [0x563448]
mov dword [edi + 0x4378], 0
mov dword [edi + 0x4374], 0
test eax, eax
je 0x40eaae
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x437c], 0
mov ecx, dword [edi + 0x5310]
test ecx, ecx
je 0x40eafb
mov eax, dword [0x563448]
mov dword [edi + 0x530c], 0
mov dword [edi + 0x5308], 0
test eax, eax
je 0x40eaeb
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5310], 0
mov ecx, dword [edi + 0x531c]
test ecx, ecx
je 0x40eb38
mov eax, dword [0x563448]
mov dword [edi + 0x5318], 0
mov dword [edi + 0x5314], 0
test eax, eax
je 0x40eb28
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x531c], 0
mov ecx, dword [edi + 0x43d8]
test ecx, ecx
je 0x40eb75
mov eax, dword [0x563448]
mov dword [edi + 0x43d4], 0
mov dword [edi + 0x43d0], 0
test eax, eax
je 0x40eb65
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x43d8], 0
mov ecx, dword [edi + 0x43e4]
test ecx, ecx
je 0x40ebb2
mov eax, dword [0x563448]
mov dword [edi + 0x43e0], 0
mov dword [edi + 0x43dc], 0
test eax, eax
je 0x40eba2
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x43e4], 0
mov ecx, dword [edi + 0x43f0]
test ecx, ecx
je 0x40ebef
mov eax, dword [0x563448]
mov dword [edi + 0x43ec], 0
mov dword [edi + 0x43e8], 0
test eax, eax
je 0x40ebdf
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x43f0], 0
mov ecx, dword [edi + 0x5398]
test ecx, ecx
je 0x40ec2c
mov eax, dword [0x563448]
mov dword [edi + 0x5394], 0
mov dword [edi + 0x5390], 0
test eax, eax
je 0x40ec1c
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x5398], 0
mov ecx, dword [edi + 0x538c]
test ecx, ecx
je 0x40ec69
mov eax, dword [0x563448]
mov dword [edi + 0x5388], 0
mov dword [edi + 0x5384], 0
test eax, eax
je 0x40ec59
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x538c], 0
cmp dword [edi + 0x53c0], 0
je 0x40ec9b
mov esi, dword [edi + 0x53c0]
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 0x40ec91
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov dword [edi + 0x53c0], 0
mov ecx, dword [edi + 0x53cc]
test ecx, ecx
je 0x40ecd8
mov eax, dword [0x563448]
mov dword [edi + 0x53c8], 0
mov dword [edi + 0x53c4], 0
test eax, eax
je 0x40ecc8
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x53cc], 0
mov ecx, dword [edi + 0x53f8]
test ecx, ecx
je 0x40ed15
mov eax, dword [0x563448]
mov dword [edi + 0x53f4], 0
mov dword [edi + 0x53f0], 0
test eax, eax
je 0x40ed05
dec dword [eax + 0xb0]
push ecx
call ebx
add esp, 4
mov dword [edi + 0x53f8], 0
mov byte [edi], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret