Function at 0x100d5337
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push 0x74
mov eax, 0x10149c5d
call fcn.1010191b
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov esi, ecx
mov dword [ebp - 0x7c], eax
xor eax, eax
cmp dword [ebp + 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x80], eax
jne 0x100d5373
lea ecx, [ebp + 0x10]
call fcn.100015d9
xor eax, eax
lea esp, [ebp - 0x90]
call fcn.1010199e
ret 0x10
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 0x150]
sub eax, dword [edi + 0x1c]
mov dword [ebp - 0x74], ebx
test eax, eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
jge 0x100d5398
fadd qword [0x10156340]
fld qword [0x101650f0]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100d53ad
fstp st(1)
fld st(0)
fxch st(1)
fxch st(1)
fsub qword [0x101650e8]
fmul qword [0x101650e0]
fdivrp st(1)
call fcn.101062a0
fld1
mov eax, dword [esi + 0x34]
fadd st(1), st(0)
test eax, eax
fild dword [esi + 0x34]
jge 0x100d53d6
fadd qword [0x10156340]
faddp st(1)
fmul qword [0x10157810]
fmulp st(1)
call fcn.101047b6
add dword [edi + 0x14], eax
push 0x4c
push 0
adc dword [edi + 0x18], edx
mov eax, dword [esi + 0x150]
and dword [ebp - 0x60], 0
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.101027c0
mov eax, dword [edi + 4]
add esp, 0xc
push 0
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x78], ebx
call fcn.10001a82
test eax, eax
mov dword [ebp - 0x6c], eax
je 0x100d544f
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x100d544f
lea ebx, [eax + eax]
mov eax, ebx
call fcn.10102de0
mov eax, esp
push 0
push ebx
push dword [ebp - 0x6c]
push eax
call fcn.1000c619
mov ebx, eax
test ebx, ebx
jne 0x100d5460
xor esi, esi
lea ecx, [ebp + 0x10]
call fcn.100015d9
mov eax, esi
jmp 0x100d5365
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100d5463
sub eax, ecx
mov word [edi + 0x34], ax
push 0xa0
movzx eax, ax
push 0x1019f494
push eax
push ebx
call fcn.100567bd
push 2
push 0
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0x1c
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
call fcn.101061e8
mov dword [edi + 0x30], eax
push dword [esi + 0x14c]
movzx eax, word [edi + 0x34]
push 1
push eax
push ebx
call fcn.10103ca7
xor ebx, ebx
inc ebx
add esp, 0x14
cmp eax, ebx
jne 0x100d583a
and dword [ebp - 0x68], 0
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x7c]
mov ecx, esi
call fcn.100d4d79
test eax, eax
je 0x100d5546
cmp dword [ebp - 0x68], 0
je 0x100d5546
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [ebp - 0x7c], eax
je 0x100d5534
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov dword [edi + 0x24], eax
push dword [esi + 0x14c]
call fcn.101061e8
mov dword [edi + 0x20], eax
push dword [esi + 0x14c]
push ebx
push dword [edi + 0x24]
push dword [ebp - 0x7c]
call fcn.10103ca7
add esp, 0x14
cmp eax, ebx
je 0x100d5534
and dword [edi + 0x24], 0
and dword [edi + 0x20], 0
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x64], 0
je 0x100d559e
push 0
push dword [ebp - 0x64]
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d559e
push dword [esi + 0x14c]
lea eax, [ebp - 0x60]
push ebx
push 0x50
push eax
call fcn.101034cc
add esp, 0x10
cmp eax, ebx
jne 0x100d559e
mov eax, dword [ebp - 0x48]
cmp eax, dword [edi + 0x18]
ja 0x100d559e
jb 0x100d558e
mov eax, dword [ebp - 0x4c]
cmp eax, dword [edi + 0x14]
ja 0x100d559e
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x5c]
test eax, eax
mov dword [ebp - 0x64], eax
jne 0x100d554c
mov eax, dword [ebp - 0x48]
cmp eax, dword [edi + 0x18]
jb 0x100d56e7
ja 0x100d55b8
mov eax, dword [ebp - 0x4c]
cmp eax, dword [edi + 0x14]
jbe 0x100d56e7
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x58], eax
jne 0x100d564c
push 0
push eax
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
push ebx
push 0x50
push edi
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x28]
jne 0x100d57fb
xor ecx, ecx
cmp dword [ebp - 0x74], ecx
je 0x100d57bb
push ecx
push 0x24
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
lea eax, [ebp - 0x74]
push ebx
push 4
push eax
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [ebp - 0x74]
jmp 0x100d57f8
push edi
mov ecx, esi
call fcn.100d4059
test eax, eax
je 0x100d583a
mov eax, dword [ebp - 0x64]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x78]
push 0
push dword [ebp + 8]
mov dword [edi + 8], eax
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
push ebx
push 0x50
push edi
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [edi + 4]
push 0
add eax, 8
push eax
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
lea eax, [ebp + 8]
push ebx
push 4
push eax
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [edi + 8]
push 0
add eax, 4
push eax
jmp 0x100d5793
xor eax, eax
cmp dword [ebp - 0x64], eax
jne 0x100d583a
cmp dword [edi + 4], eax
jne 0x100d5700
push eax
push dword [ebp + 8]
jmp 0x100d55c7
push edi
mov ecx, esi
call fcn.100d4059
test eax, eax
je 0x100d583a
mov eax, dword [ebp - 0x78]
and dword [edi + 4], 0
mov dword [edi + 8], eax
mov eax, dword [ebp + 8]
push 0
push eax
push dword [esi + 0x14c]
mov dword [esi + 0x2c], eax
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
push ebx
push 0x50
push edi
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [edi + 8]
push 0
add eax, 4
push eax
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
lea eax, [ebp + 8]
push ebx
push 4
push eax
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
push 0
push 0x28
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
lea eax, [ebp + 8]
push ebx
push 4
push eax
jmp 0x100d55e7
mov eax, dword [ebp - 0x70]
cmp eax, ecx
je 0x100d57fb
cmp eax, dword [edi + 4]
je 0x100d57fb
push ecx
push 0x24
push dword [esi + 0x14c]
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
lea eax, [ebp - 0x70]
push ebx
push 4
push eax
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [ebp - 0x70]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x34]
push 0
push 0x30
push dword [esi + 0x14c]
inc eax
mov dword [ebp - 0x6c], eax
call fcn.10105fcb
add esp, 0xc
test eax, eax
jne 0x100d583a
push dword [esi + 0x14c]
lea eax, [ebp - 0x6c]
push ebx
push 4
push eax
call fcn.10103ca7
add esp, 0x10
cmp eax, ebx
jne 0x100d583a
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x34], eax
mov dword [ebp - 0x80], ebx
mov esi, dword [ebp - 0x80]
jmp 0x100d5451