Function at 0x10001280
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101858f8
push eax
mov dword fs:[0], esp
mov eax, dword [0x101f1d98]
sub esp, 0x58
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
je 0x100012c0
push str.IsMatchingUTF8File_______
push str.GetTxt
push 0xffffffffffffffff
push 0x101f1d2c
call fcn.100066b0
add esp, 0x10
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x78]
cmp esi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [ebx], edi
je 0x100017b3
mov eax, dword [esp + 0x7c]
cmp dword [eax + 4], edi
je 0x100017b3
mov ebp, dword [esp + 0x80]
cmp ebp, edi
je 0x100017b3
mov dword [esp + 0x44], edi
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x44]
push ecx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x10001760
mov eax, dword [esp + 0x64]
xor ecx, ecx
mov dword [esp + 0x3c], eax
or eax, ecx
je 0x1000176d
cmp ebp, 0x10000
jbe 0x10001344
mov ebx, ebp
mov dword [esp + 0x80], ebx
jmp 0x10001356
mov dword [esp + 0x80], 0x10000
mov ebx, dword [esp + 0x80]
cmp ebp, 0x10000
jbe 0x10001368
lea edx, [ebp + ebp]
mov dword [esp + 0x78], edx
jmp 0x10001372
lea eax, [ebp + 0x10000]
mov dword [esp + 0x78], eax
push esi
lea ecx, [esp + 0x28]
call fcn.10032fc0
mov ecx, dword [esp + 0x24]
push 0
push 0x80
push 3
push 0
push 7
push closesocket
push ecx
mov dword [esp + 0x8c], 0
call fcn.10011190
add esp, 0x1c
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
je 0x10001788
mov edx, dword [esp + 0x78]
lea edi, [edx + 1]
push edi
call fcn.1005473e
mov esi, eax
xor eax, eax
add esp, 4
cmp esi, eax
je 0x100017a6
cmp dword [esp + 0x84], eax
je 0x100015f1
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 4]
cmp ecx, eax
mov dword [esp + 0x30], ecx
jle 0x1000156a
mov edx, dword [esp + 0x18]
push eax
push eax
push eax
push edx
mov dword [esp + 0x30], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x78]
mov edi, esi
lea ecx, [eax + 1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor edi, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push 0
push eax
lea ecx, [edi + esi]
push ebx
push ecx
push edx
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1000151a
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add edx, eax
adc ecx, 0
add eax, edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov byte [eax + esi], 0
mov eax, dword [esp + 0x14]
cmp eax, ebx
jb 0x10001496
mov eax, dword [esp + 0x3c]
mov ecx, edx
cmp ecx, eax
jne 0x1000149e
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ecx, eax
jne 0x1000149e
mov dword [esp + 0x28], 1
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
push eax
push esi
call fcn.10001100
add esp, 8
cmp eax, 0xffffffff
jne 0x10001524
mov eax, edi
mov edi, dword [esp + 0x14]
sub eax, ebp
push ebp
add eax, edi
add eax, esi
push eax
push esi
call fcn.10054640
mov ecx, dword [esp + 0x84]
add esp, 0xc
sub ecx, ebp
xor eax, eax
inc ecx
lea edi, [esi + ebp]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
xor edx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, ebp
mov ecx, ebx
xor eax, eax
add ecx, edi
adc eax, edx
cmp eax, edx
jb 0x1000150c
ja 0x10001506
cmp ecx, dword [esp + 0x78]
jbe 0x1000150c
mov ebx, dword [esp + 0x78]
sub ebx, edi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10001434
jmp 0x1000152c
mov dword [esp + 0x10], 6
jmp 0x1000152c
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x10001545
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10001568
test ecx, ecx
mov eax, 1
je 0x1000156a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
cmp ecx, edx
jge 0x1000156a
mov ebx, dword [esp + 0x80]
xor eax, eax
jmp 0x100013f7
xor eax, eax
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [edx], ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x70], 0xffffffff
call fcn.10033760
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x100015a4
push esi
call fcn.10054626
add esp, 4
mov eax, dword [0x101f1d98]
test eax, eax
je 0x100017c0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
push eax
push ecx
push esi
push str.IsMatchingUTF8File_______d_____d____d_
push str.GetTxt
push 0xffffffffffffffff
push 0x101f1d2c
call fcn.100066b0
add esp, 0x1c
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret
mov edx, dword [esp + 0x18]
push eax
push eax
push eax
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor eax, eax
xor edi, edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
jmp 0x1000162b
xor eax, eax
mov ecx, dword [esp + 0x88]
cmp dword [ecx], eax
jne 0x10001738
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], eax
push eax
push edx
lea eax, [edi + esi]
push ebx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1000171f
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add edx, eax
mov dword [esp + 0x34], edx
lea edx, [edi + eax]
adc ecx, 0
mov byte [edx + esi], 0
mov eax, dword [esp + 0x20]
cmp eax, ebx
mov dword [esp + 0x38], ecx
jb 0x1000169a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jne 0x100016a2
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ecx, eax
jne 0x100016a2
mov dword [esp + 0x28], 1
mov ecx, dword [esp + 0x7c]
push 0
push ecx
push esi
call fcn.10001120
add esp, 0xc
test eax, eax
jne 0x10001729
mov eax, edi
mov edi, dword [esp + 0x20]
sub eax, ebp
push ebp
add eax, edi
add eax, esi
push eax
push esi
call fcn.10054640
mov ecx, dword [esp + 0x84]
add esp, 0xc
sub ecx, ebp
xor eax, eax
inc ecx
lea edi, [esi + ebp]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
xor edx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, ebp
mov ecx, ebx
xor eax, eax
add ecx, edi
adc eax, edx
cmp eax, edx
jb 0x10001711
ja 0x10001702
cmp ecx, dword [esp + 0x78]
jbe 0x10001711
mov eax, dword [esp + 0x78]
sub eax, edi
mov dword [esp + 0x80], eax
mov ebx, eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10001629
jmp 0x10001736
mov dword [esp + 0x10], 6
jmp 0x10001736
mov eax, dword [esp + 0x88]
mov dword [eax], 1
xor eax, eax
mov ecx, dword [esp + 0x88]
cmp dword [ecx], eax
jne 0x10001753
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], eax
cmp ecx, eax
je 0x1000157b
mov dword [esp + 0x14], 1
jmp 0x1000157b
mov dword [esp + 0x10], 2
jmp 0x100015a4
mov dword [esp + 0x10], 3
mov dword [ebx], 0
mov dword [esp + 0x14], 1
jmp 0x100015a4
lea ecx, [esp + 0x24]
mov dword [esp + 0x10], 4
mov dword [esp + 0x70], 0xffffffff
call fcn.10033760
jmp 0x100015a4
mov dword [esp + 0x10], 5
jmp 0x1000157b
mov dword [esp + 0x10], 1
jmp 0x100015a4
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x64
ret