Function at 0x1038d70
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x53c
mov eax, 0x10ccf23
call fcn.010b53fd
mov esi, dword [ebp + 8]
cmp dword [esi + 0x18], 8
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x21c], eax
jb 0x1038d9c
mov eax, dword [esi + 4]
jmp 0x1038d9f
lea eax, [esi + 4]
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
xor edi, edi
inc edi
push edi
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x238], 0x10024b4
mov dword [ebp - 0x234], eax
mov dword [ebp - 4], ebx
cmp eax, 0xffffffff
jne 0x1038ecc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 7
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x21c], eax
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 1
call fcn.01033c5d
push 0x10029c8
lea ecx, [ebp - 0x250]
call fcn.01033c5d
push esi
lea eax, [ebp - 0x414]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 2
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 1
call fcn.01032f16
push dword [ebp - 0x21c]
lea eax, [ebp - 0x484]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x548]
push 0x100268c
push eax
mov byte [ebp - 4], 3
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 4
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x548]
call fcn.01032f16
push ebx
push edi
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 1
call fcn.01032f16
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x330]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x330]
push eax
call fcn.010b4e4c
lea ecx, [ebp - 0x230]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
cmp eax, ebx
jne 0x1038fd1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 7
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x21c], eax
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 5
call fcn.01033c5d
push 0x1002948
lea ecx, [ebp - 0x264]
call fcn.01033c5d
push dword [ebp - 0x21c]
lea eax, [ebp - 0x4f4]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x3dc]
push 0x1002928
push eax
mov byte [ebp - 4], 6
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 7
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x3dc]
call fcn.01032f16
push ebx
push edi
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 5
call fcn.01032f16
push esi
lea eax, [ebp - 0x388]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 8
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 5
call fcn.01032f16
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x308]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x308]
jmp 0x1038ec6
cmp dword [ebp - 0x22c], ebx
je 0x1039067
push ebx
push 0x1b
lea ecx, [ebp - 0x28c]
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 9
call fcn.01033c5d
push 0x1002898
lea ecx, [ebp - 0x28c]
call fcn.01033c5d
push esi
lea eax, [ebp - 0x4bc]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0xa
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 4], 9
call fcn.01032f16
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x36c]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x36c]
jmp 0x1038ec6
mov esi, dword [ebp - 0x230]
inc esi
push esi
call fcn.010b35ad
pop ecx
mov dword [ebp - 0x220], eax
cmp esi, ebx
je 0x1039085
mov byte [eax], bl
inc eax
dec esi
jne 0x103907f
push ebx
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x230]
mov byte [ebp - 4], 0xb
push dword [ebp - 0x220]
mov dword [ebp - 0x228], ebx
push dword [ebp - 0x218]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebx
jne 0x1039192
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 7
lea ecx, [ebp - 0x2c8]
mov esi, eax
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0xc
call fcn.01033c5d
push esi
lea eax, [ebp - 0x52c]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x44c]
push 0x1002884
push eax
mov byte [ebp - 4], 0xd
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0xe
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x44c]
call fcn.01032f16
push ebx
push edi
lea ecx, [ebp - 0x52c]
mov byte [ebp - 4], 0xc
call fcn.01032f16
push dword [ebp - 0x224]
lea eax, [ebp - 0x3a4]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0xf
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0xc
call fcn.01032f16
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x358]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x358]
jmp 0x1038ec6
mov eax, dword [ebp - 0x228]
push ebx
cmp eax, dword [ebp - 0x230]
je 0x1039282
push 0x1c
lea ecx, [ebp - 0x278]
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x10
call fcn.01033c5d
push dword [ebp - 0x224]
lea eax, [ebp - 0x3c0]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0x11
call fcn.01033bb7
push ebx
push edi
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 0x10
call fcn.01032f16
push dword [ebp - 0x230]
mov esi, 0x100
push 0x100284c
lea eax, [ebp - 0x214]
push esi
push eax
call fcn.010b7a02
add esp, 0x10
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x278]
call fcn.01033c5d
push dword [ebp - 0x228]
lea eax, [ebp - 0x214]
push 0x1002808
push esi
push eax
call fcn.010b7a02
add esp, 0x10
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x278]
call fcn.01033c5d
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x2e0]
jmp 0x1038ec6
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x220]
mov edi, 0xfde9
push 8
push edi
call esi
mov dword [ebp - 0x23c], eax
cmp eax, ebx
jne 0x1039398
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor eax, eax
cmp esi, 0x459
setne al
push ebx
lea ecx, [ebp - 0x2a0]
dec eax
and eax, 0x16
add eax, 7
push eax
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0x12
call fcn.01033c5d
push esi
lea eax, [ebp - 0x430]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x3f8]
push 0x10027d8
push eax
mov byte [ebp - 4], 0x13
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x14
call fcn.01033bb7
push ebx
push 1
lea ecx, [ebp - 0x3f8]
call fcn.01032f16
push ebx
push 1
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 0x12
call fcn.01032f16
push dword [ebp - 0x224]
lea eax, [ebp - 0x468]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x15
call fcn.01033bb7
push ebx
push 1
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0x12
call fcn.01032f16
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x2f4]
jmp 0x1038ec6
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.010b35ad
mov edx, dword [ebp - 0x23c]
pop ecx
mov ecx, eax
mov dword [ebp - 0x218], ecx
lea eax, [edx + edx]
cmp eax, ebx
je 0x10393c8
mov byte [ecx], bl
inc ecx
dec eax
jmp 0x10393be
push edx
push dword [ebp - 0x218]
push 0xffffffffffffffff
push dword [ebp - 0x220]
push 8
push edi
call esi
cmp eax, ebx
jne 0x10394df
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor eax, eax
cmp esi, 0x459
setne al
push ebx
lea ecx, [ebp - 0x2b4]
dec eax
and eax, 0x16
add eax, 7
push eax
call fcn.01033bfc
push 0x1002a30
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x16
call fcn.01033c5d
push esi
lea eax, [ebp - 0x4d8]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x4a0]
push 0x10027d8
push eax
mov byte [ebp - 4], 0x17
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x18
call fcn.01033bb7
push ebx
push 1
lea ecx, [ebp - 0x4a0]
call fcn.01032f16
push ebx
push 1
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0x16
call fcn.01032f16
push dword [ebp - 0x224]
lea eax, [ebp - 0x510]
push 0x10029b0
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x19
call fcn.01033bb7
push ebx
push 1
lea ecx, [ebp - 0x510]
mov byte [ebp - 4], 0x16
call fcn.01032f16
push dword [ebp - 0x218]
call fcn.010b359d
pop ecx
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x31c]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x31c]
jmp 0x1038ec6
push dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
call fcn.0103389a
push dword [ebp - 0x218]
call fcn.010b359d
push dword [ebp - 0x220]
call fcn.010b359d
pop ecx
pop ecx
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x238], 0x10024b4
call fcn.010350c3
mov eax, dword [ebp - 0x21c]
call fcn.010b5468
ret 8