Function at 0x100f68f
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x1023018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
xor ecx, ecx
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
inc esi
push edi
mov dword [ebp - 0x70], eax
lea edi, [ebp - 0x20]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x54], edx
mov al, byte [edx]
cmp al, 0x20
je 0x100f222
cmp al, 9
je 0x100f222
cmp al, 0xa
je 0x100f222
cmp al, 0xd
jne 0x100f225
inc edx
jmp 0x100f210
mov bl, 0x30
mov al, byte [edx]
inc edx
cmp ecx, 0xb
ja case.0x100f233.10
jmp dword [ecx*4 + 0x100f826]
mov cl, al
sub cl, 0x31
cmp cl, 8
ja 0x100f24a
push 3
pop ecx
dec edx
jmp 0x100f227
cmp al, byte [ebp + 0x24]
jne 0x100f254
push 5
pop ecx
jmp 0x100f227
movsx eax, al
sub eax, 0x2b
je 0x100f279
dec eax
dec eax
je 0x100f26d
sub eax, 3
jne 0x100f3be
mov ecx, esi
jmp 0x100f227
push 2
pop ecx
mov dword [ebp - 0x74], 0x8000
jmp 0x100f227
and dword [ebp - 0x74], 0
push 2
pop ecx
jmp 0x100f227
mov cl, al
sub cl, 0x31
mov dword [ebp - 0x58], esi
cmp cl, 8
jbe 0x100f244
cmp al, byte [ebp + 0x24]
jne 0x100f298
push 4
jmp 0x100f251
cmp al, 0x2b
je 0x100f2c4
cmp al, 0x2d
je 0x100f2c4
cmp al, bl
je 0x100f269
cmp al, 0x43
jle 0x100f3be
cmp al, 0x45
jle 0x100f2c0
cmp al, 0x63
jle 0x100f3be
cmp al, 0x65
jg 0x100f3be
push 6
jmp 0x100f251
dec edx
push 0xb
jmp 0x100f251
mov cl, al
sub cl, 0x31
cmp cl, 8
jbe 0x100f244
cmp al, byte [ebp + 0x24]
je 0x100f24f
cmp al, bl
je 0x100f269
mov edx, dword [ebp - 0x54]
jmp 0x100f3e9
mov dword [ebp - 0x58], esi
jmp 0x100f30b
cmp al, 0x39
jg 0x100f30f
cmp dword [ebp - 0x4c], 0x19
jae 0x100f305
inc dword [ebp - 0x4c]
sub al, bl
mov byte [edi], al
inc edi
jmp 0x100f308
inc dword [ebp - 0x50]
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f2f1
cmp al, byte [ebp + 0x24]
je 0x100f294
cmp al, 0x2b
je 0x100f2c4
cmp al, 0x2d
je 0x100f2c4
jmp 0x100f2a4
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], esi
jne 0x100f350
jmp 0x100f332
dec dword [ebp - 0x50]
mov al, byte [edx]
inc edx
cmp al, bl
je 0x100f32c
jmp 0x100f350
cmp al, 0x39
jg 0x100f314
cmp dword [ebp - 0x4c], 0x19
jae 0x100f34d
inc dword [ebp - 0x4c]
sub al, bl
mov byte [edi], al
inc edi
dec dword [ebp - 0x50]
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f338
jmp 0x100f314
sub al, bl
mov dword [ebp - 0x5c], esi
cmp al, 9
ja 0x100f2e4
push 4
jmp 0x100f246
lea ecx, [edx - 2]
mov dword [ebp - 0x54], ecx
mov cl, al
sub cl, 0x31
cmp cl, 8
ja 0x100f37d
push 9
jmp 0x100f246
movsx eax, al
sub eax, 0x2b
je 0x100f3a5
dec eax
dec eax
je 0x100f399
sub eax, 3
jne 0x100f2e4
push 8
jmp 0x100f251
or dword [ebp - 0x68], 0xffffffff
push 7
pop ecx
jmp 0x100f227
push 7
jmp 0x100f251
mov dword [ebp - 0x60], esi
jmp 0x100f3b4
mov al, byte [edx]
inc edx
cmp al, bl
je 0x100f3b1
sub al, 0x31
cmp al, 8
jbe 0x100f376
dec edx
jmp 0x100f3e9
mov cl, al
sub cl, 0x31
cmp cl, 8
jbe 0x100f376
cmp al, bl
jmp 0x100f38c
cmp dword [ebp + 0x20], 0
je 0x100f41c
movsx eax, al
sub eax, 0x2b
lea ecx, [edx - 1]
mov dword [ebp - 0x54], ecx
je 0x100f3a5
dec eax
dec eax
je 0x100f399
mov edx, ecx
cmp dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x70]
mov dword [eax], edx
je 0x100f7d1
push 0x18
pop eax
cmp dword [ebp - 0x4c], eax
jbe 0x100f410
cmp byte [ebp - 9], 5
jl 0x100f409
inc byte [ebp - 9]
dec edi
inc dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jbe 0x100f7f8
jmp 0x100f475
push 0xa
pop ecx
dec edx
cmp ecx, 0xa
jne 0x100f227
jmp 0x100f3e9
mov dword [ebp - 0x60], esi
xor ecx, ecx
jmp 0x100f44b
cmp al, 0x39
jg 0x100f456
imul ecx, ecx, 0xa
movsx esi, al
lea ecx, [ecx + esi - 0x30]
cmp ecx, 0x1450
jg 0x100f451
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f432
jmp 0x100f456
mov ecx, 0x1451
mov dword [ebp - 0x64], ecx
jmp 0x100f466
cmp al, 0x39
jg 0x100f3be
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f45b
jmp 0x100f3be
dec dword [ebp - 0x4c]
inc dword [ebp - 0x50]
dec edi
cmp byte [edi], 0
je 0x100f46f
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x4c]
lea eax, [ebp - 0x20]
push eax
call fcn.0100eff3
mov eax, dword [ebp - 0x64]
xor edx, edx
add esp, 0xc
cmp dword [ebp - 0x68], edx
jge 0x100f49a
neg eax
add eax, dword [ebp - 0x50]
cmp dword [ebp - 0x60], edx
jne 0x100f4a5
add eax, dword [ebp + 0x18]
cmp dword [ebp - 0x5c], edx
jne 0x100f4ad
sub eax, dword [ebp + 0x1c]
cmp eax, 0x1450
jg 0x100f7da
cmp eax, 0xffffebb0
jl 0x100f7f1
mov ecx, 0x1023088
sub ecx, 0x60
mov dword [ebp - 0x54], eax
cmp eax, edx
je 0x100f7bf
jge 0x100f4e5
neg eax
mov ecx, 0x10231e8
mov dword [ebp - 0x54], eax
sub ecx, 0x60
cmp dword [ebp + 0x14], edx
jne 0x100f4f0
xor eax, eax
mov word [ebp - 0x3c], ax
cmp dword [ebp - 0x54], edx
je 0x100f7bf
jmp 0x100f500
mov ecx, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [ebp - 0x54]
sar dword [ebp - 0x54], 3
add ecx, 0x54
and eax, 7
mov dword [ebp - 0x7c], ecx
cmp eax, edx
je 0x100f7b5
imul eax, eax, 0xc
add eax, ecx
mov ebx, eax
mov eax, 0x8000
cmp word [ebx], ax
jb 0x100f537
mov esi, ebx
lea edi, [ebp - 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
dec dword [ebp - 0x46]
lea ebx, [ebp - 0x48]
movzx ecx, word [ebx + 0xa]
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x32]
mov esi, ecx
mov edx, 0x7fff
xor esi, eax
and eax, edx
and ecx, edx
and esi, 0x8000
mov edi, 0x7fff
lea edx, [ecx + eax]
mov dword [ebp - 0x70], esi
movzx edx, dx
cmp ax, di
jae 0x100f797
cmp cx, di
jae 0x100f797
mov edi, 0xbffd
cmp dx, di
ja 0x100f797
mov esi, 0x3fbf
cmp dx, si
ja 0x100f5a4
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
jmp 0x100f7b2
xor esi, esi
cmp ax, si
jne 0x100f5ca
inc edx
test dword [ebp - 0x34], 0x7fffffff
jne 0x100f5ca
cmp dword [ebp - 0x38], esi
jne 0x100f5ca
cmp dword [ebp - 0x3c], esi
jne 0x100f5ca
xor eax, eax
mov word [ebp - 0x32], ax
jmp 0x100f7b5
cmp cx, si
jne 0x100f5f0
inc edx
test dword [ebx + 8], 0x7fffffff
jne 0x100f5f0
cmp dword [ebx + 4], esi
jne 0x100f5f0
cmp dword [ebx], esi
jne 0x100f5f0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], esi
jmp 0x100f7b5
mov dword [ebp - 0x68], esi
lea edi, [ebp - 0x28]
mov dword [ebp - 0x58], 5
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x58]
add eax, eax
mov dword [ebp - 0x64], ecx
test ecx, ecx
jle 0x100f65e
lea eax, [ebp + eax - 0x3c]
mov dword [ebp - 0x5c], eax
lea eax, [ebx + 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
movzx ecx, word [ecx]
movzx eax, word [eax]
and dword [ebp - 0x4c], 0
imul eax, ecx
mov ecx, dword [edi - 4]
lea esi, [ecx + eax]
cmp esi, ecx
jb 0x100f63a
cmp esi, eax
jae 0x100f641
mov dword [ebp - 0x4c], 1
cmp dword [ebp - 0x4c], 0
mov dword [edi - 4], esi
je 0x100f64d
inc word [edi]
add dword [ebp - 0x5c], 2
sub dword [ebp - 0x60], 2
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0
jg 0x100f619
inc edi
inc edi
inc dword [ebp - 0x68]
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0
jg 0x100f5fd
add edx, 0xc002
test dx, dx
jle 0x100f6ae
mov edi, dword [ebp - 0x24]
test edi, edi
js 0x100f6a9
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
shl dword [ebp - 0x2c], 1
shr eax, 0x1f
mov ecx, esi
add esi, esi
or esi, eax
shr ecx, 0x1f
lea eax, [edi + edi]
or eax, ecx
add edx, 0xffff
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
test dx, dx
jg 0x100f677
test dx, dx
jg 0x100f6fb
add edx, 0xffff
test dx, dx
jge 0x100f6fb
mov eax, edx
neg eax
movzx esi, ax
add edx, esi
test byte [ebp - 0x2c], 1
je 0x100f6cb
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
shr dword [ebp - 0x24], 1
shl eax, 0x1f
shr edi, 1
or edi, eax
mov eax, dword [ebp - 0x2c]
shl ecx, 0x1f
shr eax, 1
or eax, ecx
dec esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], eax
jne 0x100f6c2
cmp dword [ebp - 0x50], esi
je 0x100f6fb
or word [ebp - 0x2c], 1
mov eax, 0x8000
mov ecx, eax
cmp word [ebp - 0x2c], cx
ja 0x100f719
mov ecx, dword [ebp - 0x2c]
and ecx, 0x1ffff
cmp ecx, 0x18000
jne 0x100f74d
cmp dword [ebp - 0x2a], 0xffffffff
jne 0x100f74a
and dword [ebp - 0x2a], 0
cmp dword [ebp - 0x26], 0xffffffff
jne 0x100f745
and dword [ebp - 0x26], 0
mov ecx, 0xffff
cmp word [ebp - 0x22], cx
jne 0x100f73f
mov word [ebp - 0x22], ax
inc edx
jmp 0x100f74d
inc word [ebp - 0x22]
jmp 0x100f74d
inc dword [ebp - 0x26]
jmp 0x100f74d
inc dword [ebp - 0x2a]
mov eax, 0x7fff
cmp dx, ax
jb 0x100f77a
xor eax, eax
xor ecx, ecx
cmp word [ebp - 0x70], ax
mov dword [ebp - 0x38], eax
sete cl
mov dword [ebp - 0x3c], eax
dec ecx
and ecx, 0x80000000
add ecx, 0x7fff8000
mov dword [ebp - 0x34], ecx
jmp 0x100f7b5
mov ax, word [ebp - 0x2a]
or edx, dword [ebp - 0x70]
mov word [ebp - 0x3c], ax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3a], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x36], eax
mov word [ebp - 0x32], dx
jmp 0x100f7b5
xor eax, eax
test si, si
sete al
and dword [ebp - 0x38], 0
dec eax
and eax, 0x80000000
add eax, 0x7fff8000
and dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x54], 0
jne 0x100f4fb
mov eax, dword [ebp - 0x34]
movzx ecx, word [ebp - 0x3c]
mov esi, dword [ebp - 0x3a]
mov edx, dword [ebp - 0x36]
shr eax, 0x10
jmp 0x100f800
mov dword [ebp - 0x6c], 4
jmp 0x100f7f8
xor esi, esi
mov eax, 0x7fff
mov edx, 0x80000000
xor ecx, ecx
mov dword [ebp - 0x6c], 2
jmp 0x100f800
mov dword [ebp - 0x6c], 1
xor ecx, ecx
xor eax, eax
xor edx, edx
xor esi, esi
mov edi, dword [ebp - 0x78]
or eax, dword [ebp - 0x74]
mov word [edi], cx
mov ecx, dword [ebp - 4]
mov dword [edi + 2], esi
mov word [edi + 0xa], ax
mov eax, dword [ebp - 0x6c]
mov dword [edi + 6], edx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100b8c5
leave
ret