Function at 0x10098231
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, esi
cmp esi, 0xd800
jae 0x10098255
mov ecx, esi
sar ecx, 5
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
movzx ecx, word [eax + ecx*2]
jmp 0x100982b1
cmp esi, 0xffff
ja 0x10098276
xor ecx, ecx
mov eax, 0x140
cmp esi, 0xdbff
cmovle ecx, eax
mov eax, esi
sar eax, 5
add ecx, eax
jmp 0x10098249
mov ebx, dword [ebp + 8]
cmp esi, 0x10ffff
jbe 0x10098289
mov ecx, dword [ebx + 0x1c]
sub ecx, 0xffffff80
jmp 0x100982b9
cmp esi, dword [ebx + 0x30]
jl 0x10098293
mov ecx, dword [ebx + 0x34]
jmp 0x100982b9
mov edx, dword [ebx + 0x10]
mov eax, esi
sar eax, 0xb
movzx ecx, word [edx + eax*2 + 0x1040]
mov eax, esi
sar eax, 5
and eax, 0x3f
add ecx, eax
movzx ecx, word [edx + ecx*2]
mov eax, esi
and eax, 0x1f
lea ecx, [eax + ecx*4]
mov eax, dword [ebx + 0x10]
movzx ecx, word [eax + ecx*2]
test cl, 0x10
jne 0x100982de
mov al, cl
and al, 3
cmp al, 2
jb 0x1009843d
movsx edi, cx
sar edi, 7
add edi, esi
jmp 0x1009843d
mov eax, dword [ebx + 8]
shr ecx, 5
lea ecx, [eax + ecx*2]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], ecx
test eax, 0x4000
je 0x100984d4
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
call fcn.10097bf8
pop ecx
pop ecx
cmp eax, 3
jne 0x100983d8
cmp esi, 0x49
je 0x10098326
cmp esi, 0x4a
je 0x10098326
cmp esi, 0x12e
jne 0x10098351
cmp dword [ebp + 0x10], 0
je 0x10098351
push 1
jmp 0x10098345
push eax
push ebx
call fcn.10097906
pop ecx
pop ecx
cmp eax, 0x40
je 0x1009836d
cmp eax, 0x60
jne 0x10098351
push 0
push dword [ebp + 0x14]
call dword [ebp + 0x10]
pop ecx
pop ecx
test eax, eax
jns 0x10098330
cmp esi, 0xcc
je 0x1009836d
cmp esi, 0xcd
je 0x1009836d
cmp esi, 0x128
jne 0x10098486
sub esi, 0x49
je 0x100983ca
dec esi
je 0x100983bf
sub esi, 0x82
je 0x100983b2
dec esi
je 0x100983a7
sub esi, 0x5b
je 0x1009839c
sub esi, 6
je 0x10098391
xor eax, eax
jmp 0x10098448
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x100f2b3c
jmp 0x100983d3
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x100f2b54
jmp 0x100983bb
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x100f2b4c
jmp 0x100983bb
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x100f2b44
push 3
jmp 0x100983d5
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x100f2aec
jmp 0x100983d3
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x100f2804
push 2
pop eax
jmp 0x10098448
cmp eax, 2
jne 0x10098486
cmp esi, 0x130
jne 0x100983ed
push 0x69
jmp 0x100983d5
cmp esi, 0x307
jne 0x1009844d
cmp dword [ebp + 0x10], 0
je 0x10098420
push 0xffffffffffffffff
jmp 0x10098414
cmp eax, 0x49
je 0x1009838a
push eax
push ebx
call fcn.10097906
pop ecx
pop ecx
cmp eax, 0x60
jne 0x10098420
push 0
push dword [ebp + 0x14]
call dword [ebp + 0x10]
pop ecx
pop ecx
test eax, eax
jns 0x100983ff
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
test al, 1
je 0x1009843d
movzx edi, word [ecx]
test eax, 0x100
je 0x1009843d
movzx ecx, word [ecx + 2]
shl edi, 0x10
or edi, ecx
mov ecx, edi
cmp edi, esi
not ecx
cmove edi, ecx
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret
cmp esi, 0x49
jne 0x10098486
cmp dword [ebp + 0x10], 0
je 0x1009847f
push 1
jmp 0x10098473
cmp eax, 0x307
je 0x10098420
push eax
push ebx
call fcn.10097906
pop ecx
pop ecx
cmp eax, 0x60
jne 0x1009847f
push 0
push dword [ebp + 0x14]
call dword [ebp + 0x10]
pop ecx
pop ecx
test eax, eax
jns 0x1009845c
mov eax, 0x131
jmp 0x10098448
cmp esi, 0x130
je 0x100983ca
cmp esi, 0x3a3
jne 0x10098420
push 1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.100979aa
add esp, 0x10
test al, al
jne 0x10098420
push 0xffffffffffffffff
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.100979aa
add esp, 0x10
test al, al
je 0x10098420
lea eax, [esi + 0x1f]
jmp 0x10098448
test al, al
jns 0x10098426
test eax, 0x100
jne 0x100984f5
and eax, 0x7f
movzx eax, byte [eax + 0x100f2b60]
lea ecx, [ecx + eax*2]
movzx edx, word [ecx]
jmp 0x10098510
and eax, 0x7f
movzx eax, byte [eax + 0x100f2b60]
lea ecx, [ecx + eax*4]
movzx edx, word [ecx]
add ecx, 2
shl edx, 0x10
movzx eax, word [ecx]
or edx, eax
and edx, 0xf
je 0x10098420
mov eax, dword [ebp + 0x18]
add ecx, 2
mov dword [eax], ecx
mov eax, edx
jmp 0x10098448