Function at 0x1003e130
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x210], 0xa000d
push esi
mov esi, ecx
mov ecx, 0xfeff
mov dword [ebp - 0x218], esi
mov word [ebp - 0x214], cx
test eax, eax
jne 0x1003e17f
cmp dword [esi + 0x2c], eax
jne 0x1003e1cf
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100944ae
mov esp, ebp
pop ebp
ret 4
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call sym.HncFoundation.dll_HncPathToAbsolute
cmp word [ebp - 0x20c], 0
jne 0x1003e19f
xor ecx, ecx
jmp 0x1003e1bf
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
jmp 0x1003e1b0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1003e1b0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [esi + 0x1c]
call fcn.1002a950
cmp dword [esi + 0x30], 8
lea eax, [esi + 0x1c]
jb 0x1003e1da
mov eax, dword [eax]
push ebx
push 0x100c0eb0
push eax
lea ebx, [esi + 0x34]
push ebx
call dword [sym.imp.MSVCR120.dll__wfopen_s]
add esp, 0xc
test eax, eax
je 0x1003e218
call fcn.10046710
mov dword [eax], 0
mov dword [eax + 4], 0
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100944ae
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
mov dword [esi + 0x38], 1
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
test ecx, ecx
je 0x1003e204
mov ecx, dword [ebx]
call fcn.1003d9f0
mov ecx, dword [ebx]
lea edx, [ebp - 0x214]
push 2
call fcn.1003dbe0
mov eax, dword [esi + 0x14]
add esp, 4
test eax, eax
je 0x1003e283
cmp dword [esi + 0x18], 8
lea edx, [esi + 4]
jb 0x1003e258
mov edx, dword [edx]
mov ecx, dword [ebx]
add eax, eax
push eax
call fcn.1003dbe0
mov ecx, dword [ebx]
lea edx, [ebp - 0x210]
push 4
call fcn.1003dbe0
mov ecx, dword [ebx]
lea edx, [ebp - 0x210]
push 4
call fcn.1003dbe0
add esp, 0xc
mov eax, dword [esi]
xor ecx, ecx
push edi
mov dword [ebp - 0x21c], ecx
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 2
mov dword [ebp - 0x224], edx
test edx, edx
jle 0x1003e48e
mov eax, dword [esi]
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, edi
sar eax, 2
cmp eax, ecx
jbe 0x1003e4ca
mov edi, dword [edi + ecx*4]
test edi, edi
je 0x1003e4d5
cmp dword [edi + 0x14], 8
mov edx, dword [edi + 0x10]
jb 0x1003e2d0
mov ecx, dword [edi]
jmp 0x1003e2d2
mov ecx, edi
mov eax, dword [ebx]
test eax, eax
jne 0x1003e334
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
je 0x1003e2ff
js 0x1003e2f1
jle 0x1003e2f1
movzx esi, si
or esi, 0x80070000
call fcn.10046710
mov dword [eax], esi
mov dword [eax + 4], 0
mov esi, dword [sym.imp.MSVCR120.dll_fwrite]
mov eax, dword [ebx]
test eax, eax
jne 0x1003e349
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
je 0x1003e35a
js 0x1003e324
jle 0x1003e324
movzx esi, si
or esi, 0x80070000
call fcn.10046710
mov dword [eax], esi
mov dword [eax + 4], 0
jmp 0x1003e35a
mov esi, dword [sym.imp.MSVCR120.dll_fwrite]
push eax
lea eax, [edx + edx]
push eax
push 1
push ecx
call esi
add esp, 0x10
jmp 0x1003e305
push eax
push 4
lea eax, [ebp - 0x210]
push 1
push eax
call esi
add esp, 0x10
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x220], eax
test eax, eax
je 0x1003e4d5
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
mov dword [ebp - 0x228], ecx
test ecx, ecx
jle 0x1003e46f
xor edi, edi
test ecx, ecx
jle 0x1003e42b
jmp 0x1003e390
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, esi
sar eax, 2
cmp eax, edi
jbe 0x1003e4ca
mov esi, dword [esi + edi*4]
test esi, esi
je 0x1003e4d5
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1003e3db
cmp dword [esi + 0x14], 8
jb 0x1003e3be
mov edx, dword [esi]
jmp 0x1003e3c0
mov edx, esi
mov ecx, dword [ebx]
add eax, eax
push eax
call fcn.1003dbe0
mov ecx, dword [ebx]
mov edx, 0x100c3f34
push 2
call fcn.1003dbe0
add esp, 8
mov eax, dword [esi + 0x28]
test eax, eax
je 0x1003e3fa
cmp dword [esi + 0x2c], 8
lea edx, [esi + 0x18]
jb 0x1003e3ed
mov edx, dword [edx]
mov ecx, dword [ebx]
add eax, eax
push eax
call fcn.1003dbe0
add esp, 4
cmp dword [esi + 0x10], 0
jne 0x1003e406
cmp dword [esi + 0x28], 0
je 0x1003e418
mov ecx, dword [ebx]
lea edx, [ebp - 0x210]
push 4
call fcn.1003dbe0
add esp, 4
mov eax, dword [ebp - 0x220]
inc edi
cmp edi, dword [ebp - 0x228]
jl 0x1003e390
mov eax, dword [ebx]
test eax, eax
jne 0x1003e45a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
je 0x1003e46f
js 0x1003e44a
jle 0x1003e44a
movzx esi, si
or esi, 0x80070000
call fcn.10046710
mov dword [eax], esi
mov dword [eax + 4], 0
jmp 0x1003e46f
push eax
push 4
lea eax, [ebp - 0x210]
push 1
push eax
call dword [sym.imp.MSVCR120.dll_fwrite]
add esp, 0x10
mov ecx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x218]
inc ecx
mov dword [ebp - 0x21c], ecx
cmp ecx, dword [ebp - 0x224]
jl 0x1003e2a4
mov eax, dword [ebx]
test eax, eax
je 0x1003e49e
push eax
call dword [sym.imp.MSVCR120.dll_fclose]
add esp, 4
mov dword [ebx], 0
mov eax, 1
pop edi
pop ebx
mov dword [esi + 0x38], 0
mov dword [esi + 0x40], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100944ae
mov esp, ebp
pop ebp
ret 4
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop ebx
xor ecx, ebp
pop esi
call fcn.100944ae
mov esp, ebp
pop ebp
ret 4