Function at 0x100f69f
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 0x100f232
cmp al, 9
je 0x100f232
cmp al, 0xa
je 0x100f232
cmp al, 0xd
jne 0x100f235
inc edx
jmp 0x100f220
mov bl, 0x30
mov al, byte [edx]
inc edx
cmp ecx, 0xb
ja case.0x100f243.10
jmp dword [ecx*4 + 0x100f836]
mov cl, al
sub cl, 0x31
cmp cl, 8
ja 0x100f25a
push 3
pop ecx
dec edx
jmp 0x100f237
cmp al, byte [ebp + 0x24]
jne 0x100f264
push 5
pop ecx
jmp 0x100f237
movsx eax, al
sub eax, 0x2b
je 0x100f289
dec eax
dec eax
je 0x100f27d
sub eax, 3
jne 0x100f3ce
mov ecx, esi
jmp 0x100f237
push 2
pop ecx
mov dword [ebp - 0x74], 0x8000
jmp 0x100f237
and dword [ebp - 0x74], 0
push 2
pop ecx
jmp 0x100f237
mov cl, al
sub cl, 0x31
mov dword [ebp - 0x58], esi
cmp cl, 8
jbe 0x100f254
cmp al, byte [ebp + 0x24]
jne 0x100f2a8
push 4
jmp 0x100f261
cmp al, 0x2b
je 0x100f2d4
cmp al, 0x2d
je 0x100f2d4
cmp al, bl
je 0x100f279
cmp al, 0x43
jle 0x100f3ce
cmp al, 0x45
jle 0x100f2d0
cmp al, 0x63
jle 0x100f3ce
cmp al, 0x65
jg 0x100f3ce
push 6
jmp 0x100f261
dec edx
push 0xb
jmp 0x100f261
mov cl, al
sub cl, 0x31
cmp cl, 8
jbe 0x100f254
cmp al, byte [ebp + 0x24]
je 0x100f25f
cmp al, bl
je 0x100f279
mov edx, dword [ebp - 0x54]
jmp 0x100f3f9
mov dword [ebp - 0x58], esi
jmp 0x100f31b
cmp al, 0x39
jg 0x100f31f
cmp dword [ebp - 0x4c], 0x19
jae 0x100f315
inc dword [ebp - 0x4c]
sub al, bl
mov byte [edi], al
inc edi
jmp 0x100f318
inc dword [ebp - 0x50]
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f301
cmp al, byte [ebp + 0x24]
je 0x100f2a4
cmp al, 0x2b
je 0x100f2d4
cmp al, 0x2d
je 0x100f2d4
jmp 0x100f2b4
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], esi
jne 0x100f360
jmp 0x100f342
dec dword [ebp - 0x50]
mov al, byte [edx]
inc edx
cmp al, bl
je 0x100f33c
jmp 0x100f360
cmp al, 0x39
jg 0x100f324
cmp dword [ebp - 0x4c], 0x19
jae 0x100f35d
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 0x100f348
jmp 0x100f324
sub al, bl
mov dword [ebp - 0x5c], esi
cmp al, 9
ja 0x100f2f4
push 4
jmp 0x100f256
lea ecx, [edx - 2]
mov dword [ebp - 0x54], ecx
mov cl, al
sub cl, 0x31
cmp cl, 8
ja 0x100f38d
push 9
jmp 0x100f256
movsx eax, al
sub eax, 0x2b
je 0x100f3b5
dec eax
dec eax
je 0x100f3a9
sub eax, 3
jne 0x100f2f4
push 8
jmp 0x100f261
or dword [ebp - 0x68], 0xffffffff
push 7
pop ecx
jmp 0x100f237
push 7
jmp 0x100f261
mov dword [ebp - 0x60], esi
jmp 0x100f3c4
mov al, byte [edx]
inc edx
cmp al, bl
je 0x100f3c1
sub al, 0x31
cmp al, 8
jbe 0x100f386
dec edx
jmp 0x100f3f9
mov cl, al
sub cl, 0x31
cmp cl, 8
jbe 0x100f386
cmp al, bl
jmp 0x100f39c
cmp dword [ebp + 0x20], 0
je 0x100f42c
movsx eax, al
sub eax, 0x2b
lea ecx, [edx - 1]
mov dword [ebp - 0x54], ecx
je 0x100f3b5
dec eax
dec eax
je 0x100f3a9
mov edx, ecx
cmp dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x70]
mov dword [eax], edx
je 0x100f7e1
push 0x18
pop eax
cmp dword [ebp - 0x4c], eax
jbe 0x100f420
cmp byte [ebp - 9], 5
jl 0x100f419
inc byte [ebp - 9]
dec edi
inc dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jbe 0x100f808
jmp 0x100f485
push 0xa
pop ecx
dec edx
cmp ecx, 0xa
jne 0x100f237
jmp 0x100f3f9
mov dword [ebp - 0x60], esi
xor ecx, ecx
jmp 0x100f45b
cmp al, 0x39
jg 0x100f466
imul ecx, ecx, 0xa
movsx esi, al
lea ecx, [ecx + esi - 0x30]
cmp ecx, 0x1450
jg 0x100f461
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f442
jmp 0x100f466
mov ecx, 0x1451
mov dword [ebp - 0x64], ecx
jmp 0x100f476
cmp al, 0x39
jg 0x100f3ce
mov al, byte [edx]
inc edx
cmp al, bl
jge 0x100f46b
jmp 0x100f3ce
dec dword [ebp - 0x4c]
inc dword [ebp - 0x50]
dec edi
cmp byte [edi], 0
je 0x100f47f
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x4c]
lea eax, [ebp - 0x20]
push eax
call fcn.0100f003
mov eax, dword [ebp - 0x64]
xor edx, edx
add esp, 0xc
cmp dword [ebp - 0x68], edx
jge 0x100f4aa
neg eax
add eax, dword [ebp - 0x50]
cmp dword [ebp - 0x60], edx
jne 0x100f4b5
add eax, dword [ebp + 0x18]
cmp dword [ebp - 0x5c], edx
jne 0x100f4bd
sub eax, dword [ebp + 0x1c]
cmp eax, 0x1450
jg 0x100f7ea
cmp eax, 0xffffebb0
jl 0x100f801
mov ecx, 0x1023088
sub ecx, 0x60
mov dword [ebp - 0x54], eax
cmp eax, edx
je 0x100f7cf
jge 0x100f4f5
neg eax
mov ecx, 0x10231e8
mov dword [ebp - 0x54], eax
sub ecx, 0x60
cmp dword [ebp + 0x14], edx
jne 0x100f500
xor eax, eax
mov word [ebp - 0x3c], ax
cmp dword [ebp - 0x54], edx
je 0x100f7cf
jmp 0x100f510
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 0x100f7c5
imul eax, eax, 0xc
add eax, ecx
mov ebx, eax
mov eax, 0x8000
cmp word [ebx], ax
jb 0x100f547
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 0x100f7a7
cmp cx, di
jae 0x100f7a7
mov edi, 0xbffd
cmp dx, di
ja 0x100f7a7
mov esi, 0x3fbf
cmp dx, si
ja 0x100f5b4
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
jmp 0x100f7c2
xor esi, esi
cmp ax, si
jne 0x100f5da
inc edx
test dword [ebp - 0x34], 0x7fffffff
jne 0x100f5da
cmp dword [ebp - 0x38], esi
jne 0x100f5da
cmp dword [ebp - 0x3c], esi
jne 0x100f5da
xor eax, eax
mov word [ebp - 0x32], ax
jmp 0x100f7c5
cmp cx, si
jne 0x100f600
inc edx
test dword [ebx + 8], 0x7fffffff
jne 0x100f600
cmp dword [ebx + 4], esi
jne 0x100f600
cmp dword [ebx], esi
jne 0x100f600
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], esi
jmp 0x100f7c5
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 0x100f66e
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 0x100f64a
cmp esi, eax
jae 0x100f651
mov dword [ebp - 0x4c], 1
cmp dword [ebp - 0x4c], 0
mov dword [edi - 4], esi
je 0x100f65d
inc word [edi]
add dword [ebp - 0x5c], 2
sub dword [ebp - 0x60], 2
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0
jg 0x100f629
inc edi
inc edi
inc dword [ebp - 0x68]
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0
jg 0x100f60d
add edx, 0xc002
test dx, dx
jle 0x100f6be
mov edi, dword [ebp - 0x24]
test edi, edi
js 0x100f6b9
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 0x100f687
test dx, dx
jg 0x100f70b
add edx, 0xffff
test dx, dx
jge 0x100f70b
mov eax, edx
neg eax
movzx esi, ax
add edx, esi
test byte [ebp - 0x2c], 1
je 0x100f6db
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 0x100f6d2
cmp dword [ebp - 0x50], esi
je 0x100f70b
or word [ebp - 0x2c], 1
mov eax, 0x8000
mov ecx, eax
cmp word [ebp - 0x2c], cx
ja 0x100f729
mov ecx, dword [ebp - 0x2c]
and ecx, 0x1ffff
cmp ecx, 0x18000
jne 0x100f75d
cmp dword [ebp - 0x2a], 0xffffffff
jne 0x100f75a
and dword [ebp - 0x2a], 0
cmp dword [ebp - 0x26], 0xffffffff
jne 0x100f755
and dword [ebp - 0x26], 0
mov ecx, 0xffff
cmp word [ebp - 0x22], cx
jne 0x100f74f
mov word [ebp - 0x22], ax
inc edx
jmp 0x100f75d
inc word [ebp - 0x22]
jmp 0x100f75d
inc dword [ebp - 0x26]
jmp 0x100f75d
inc dword [ebp - 0x2a]
mov eax, 0x7fff
cmp dx, ax
jb 0x100f78a
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 0x100f7c5
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 0x100f7c5
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 0x100f50b
mov eax, dword [ebp - 0x34]
movzx ecx, word [ebp - 0x3c]
mov esi, dword [ebp - 0x3a]
mov edx, dword [ebp - 0x36]
shr eax, 0x10
jmp 0x100f810
mov dword [ebp - 0x6c], 4
jmp 0x100f808
xor esi, esi
mov eax, 0x7fff
mov edx, 0x80000000
xor ecx, ecx
mov dword [ebp - 0x6c], 2
jmp 0x100f810
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.0100b8d5
leave
ret