Function at 0x100a1100
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
mov edx, esi
push edi
cmp esi, 0xd800
jae 0x100a1125
mov eax, esi
sar eax, 5
movzx ecx, word [eax*2 + 0x1018bb40]
jmp 0x100a1181
cmp esi, 0xffff
ja 0x100a1144
xor ecx, ecx
mov eax, 0x140
cmp esi, 0xdbff
cmovle ecx, eax
mov eax, esi
sar eax, 5
jmp 0x100a1177
cmp esi, 0x10ffff
jbe 0x100a1153
mov eax, 0xd58
jmp 0x100a1189
cmp esi, 0xe0800
jl 0x100a1162
mov eax, 0x3040
jmp 0x100a1189
mov eax, esi
sar eax, 0xb
movzx ecx, word [eax*2 + str.X_rX_rp_r]
mov eax, esi
sar eax, 5
and eax, 0x3f
add ecx, eax
movzx ecx, word [ecx*2 + 0x1018bb40]
mov eax, esi
and eax, 0x1f
lea eax, [eax + ecx*4]
movzx eax, word [eax*2 + 0x1018bb40]
mov dword [ebp - 0xc], eax
test al, 8
jne 0x100a11b8
test al, 2
je 0x100a16e9
movsx edx, ax
sar edx, 7
add edx, esi
pop edi
mov eax, edx
cmp edx, esi
not eax
pop esi
cmovne eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, ax
shr eax, 4
movzx edx, word [eax*2 + 0x10191bc8]
lea ebx, [eax*2 + 0x10191bca]
mov dword [ebp - 8], edx
mov dword [ebp - 4], ebx
test edx, 0x4000
je 0x100a164d
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp eax, 3
jne 0x100a1391
cmp esi, 0x49
je 0x100a1207
cmp esi, 0x4a
je 0x100a1207
cmp esi, 0x12e
jne 0x100a12ef
test edi, edi
je 0x100a12ef
push 1
push ebx
mov ecx, edi
call dword [0x1015d234]
call edi
mov edx, eax
add esp, 8
test edx, edx
js 0x100a12ef
mov eax, 0xdbff
nop
cmp edx, 0xd800
jae 0x100a1247
mov eax, edx
shr eax, 5
movzx eax, word [eax*2 + 0x1018bb40]
jmp 0x100a12a1
cmp edx, 0xffff
ja 0x100a1264
mov ecx, edx
shr ecx, 5
cmp eax, edx
sbb eax, eax
and eax, 0xfffffec0
add eax, 0x140
jmp 0x100a1297
cmp edx, 0x10ffff
jbe 0x100a1273
mov eax, 0xd58
jmp 0x100a12a7
cmp edx, 0xe0800
jb 0x100a1282
mov eax, 0x3040
jmp 0x100a12a7
mov eax, edx
shr eax, 0xb
movzx ecx, word [eax*2 + str.X_rX_rp_r]
mov eax, edx
shr eax, 5
and eax, 0x3f
add ecx, eax
movzx eax, word [ecx*2 + 0x1018bb40]
and edx, 0x1f
lea eax, [edx + eax*4]
movzx eax, word [eax*2 + 0x1018bb40]
mov ecx, eax
test al, 8
je 0x100a12c3
shr ecx, 4
movzx ecx, word [ecx*2 + 0x10191bc8]
shr ecx, 7
and ecx, 0x60
cmp ecx, 0x40
je 0x100a130b
cmp ecx, 0x60
jne 0x100a12ef
push 0
push ebx
mov ecx, edi
call dword [0x1015d234]
call edi
mov edx, eax
add esp, 8
mov eax, 0xdbff
test edx, edx
jns 0x100a1230
cmp esi, 0xcc
je 0x100a130b
cmp esi, 0xcd
je 0x100a130b
cmp esi, 0x128
jne 0x100a15f2
add esi, 0xffffffb7
cmp esi, 0xe5
ja case.0x100a1321.75
movzx eax, byte [esi + 0x100a1718]
jmp dword [eax*4 + 0x100a16fc]
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x10192c04
mov eax, 2
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x10192c08
mov eax, 2
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x10192c10
mov eax, 3
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x10192c18
mov eax, 3
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x10192c20
mov eax, 3
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x100a15f2
cmp esi, 0x130
jne 0x100a13ae
pop edi
pop esi
mov eax, 0x69
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x307
jne 0x100a14f0
test edi, edi
je 0x100a14a4
push 0xffffffffffffffff
push ebx
mov ecx, edi
call dword [0x1015d234]
call edi
mov edx, eax
add esp, 8
test edx, edx
js 0x100a14a4
mov eax, 0xdbff
cmp edx, 0x49
je 0x100a14de
cmp edx, 0xd800
jae 0x100a1401
mov eax, edx
shr eax, 5
movzx eax, word [eax*2 + 0x1018bb40]
jmp 0x100a145b
cmp edx, 0xffff
ja 0x100a141e
mov ecx, edx
shr ecx, 5
cmp eax, edx
sbb eax, eax
and eax, 0xfffffec0
add eax, 0x140
jmp 0x100a1451
cmp edx, 0x10ffff
jbe 0x100a142d
mov eax, 0xd58
jmp 0x100a1461
cmp edx, 0xe0800
jb 0x100a143c
mov eax, 0x3040
jmp 0x100a1461
mov eax, edx
shr eax, 0xb
movzx ecx, word [eax*2 + str.X_rX_rp_r]
mov eax, edx
shr eax, 5
and eax, 0x3f
add ecx, eax
movzx eax, word [ecx*2 + 0x1018bb40]
and edx, 0x1f
lea eax, [edx + eax*4]
movzx eax, word [eax*2 + 0x1018bb40]
mov ecx, eax
test al, 8
je 0x100a147d
shr ecx, 4
movzx ecx, word [ecx*2 + 0x10191bc8]
shr ecx, 7
and ecx, 0x60
cmp ecx, 0x60
jne 0x100a14a4
push 0
push ebx
mov ecx, edi
call dword [0x1015d234]
call edi
mov edx, eax
add esp, 8
mov eax, 0xdbff
test edx, edx
jns 0x100a13e1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
test cl, 0x10
je 0x100a16be
test byte [ebp - 0xc], 2
je 0x100a16be
mov eax, ecx
and eax, 0xf
movzx eax, byte [eax + 0x10192c28]
test ecx, 0x100
jne 0x100a1692
movzx edx, word [ebx + eax*2]
jmp 0x100a16a0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x49
jne 0x100a15f2
test edi, edi
je 0x100a15e6
push 1
push ebx
mov ecx, edi
call dword [0x1015d234]
call edi
mov edx, eax
add esp, 8
test edx, edx
js 0x100a15e6
mov eax, 0xdbff
cmp edx, 0x307
je 0x100a14a4
cmp edx, 0xd800
jae 0x100a1543
mov eax, edx
shr eax, 5
movzx eax, word [eax*2 + 0x1018bb40]
jmp 0x100a159d
cmp edx, 0xffff
ja 0x100a1560
mov ecx, edx
shr ecx, 5
cmp eax, edx
sbb eax, eax
and eax, 0xfffffec0
add eax, 0x140
jmp 0x100a1593
cmp edx, 0x10ffff
jbe 0x100a156f
mov eax, 0xd58
jmp 0x100a15a3
cmp edx, 0xe0800
jb 0x100a157e
mov eax, 0x3040
jmp 0x100a15a3
mov eax, edx
shr eax, 0xb
movzx ecx, word [eax*2 + str.X_rX_rp_r]
mov eax, edx
shr eax, 5
and eax, 0x3f
add ecx, eax
movzx eax, word [ecx*2 + 0x1018bb40]
and edx, 0x1f
lea eax, [edx + eax*4]
movzx eax, word [eax*2 + 0x1018bb40]
mov ecx, eax
test al, 8
je 0x100a15bf
shr ecx, 4
movzx ecx, word [ecx*2 + 0x10191bc8]
shr ecx, 7
and ecx, 0x60
cmp ecx, 0x60
jne 0x100a15e6
push 0
push ebx
mov ecx, edi
call dword [0x1015d234]
call edi
mov edx, eax
add esp, 8
mov eax, 0xdbff
test edx, edx
jns 0x100a1520
pop edi
pop esi
mov eax, 0x131
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x130
jne 0x100a160f
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov dword [eax], 0x10192bb4
mov eax, 2
mov esp, ebp
pop ebp
ret
cmp esi, 0x3a3
jne 0x100a14a4
push 1
push ebx
push edi
call fcn.1006daf0
add esp, 0xc
test al, al
jne 0x100a14a4
push 0xffffffffffffffff
push ebx
push edi
call fcn.1006daf0
add esp, 0xc
test al, al
je 0x100a14a4
pop edi
lea eax, [esi + 0x1f]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dl, dl
jns 0x100a14a7
mov eax, edx
and eax, 0x7f
movzx eax, byte [eax + 0x10192c28]
test edx, 0x100
jne 0x100a166e
lea edx, [ebx + eax*2]
jmp 0x100a1677
lea edx, [eax*4 + 2]
add edx, ebx
movzx eax, word [edx]
and eax, 0xf
je 0x100a14a7
mov ecx, dword [ebp + 0x14]
add edx, 2
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
movzx edx, word [ebx + eax*4]
movzx eax, word [ebx + eax*4 + 2]
shl edx, 0x10
or edx, eax
and ecx, 0x400
lea eax, [edx + esi]
mov dword [ebp - 8], ecx
mov ecx, esi
sub ecx, edx
cmp dword [ebp - 8], 0
pop edi
pop esi
cmovne eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
test cl, 1
je 0x100a16e7
movzx edx, word [ebx]
test ecx, 0x100
je 0x100a16e9
movzx eax, word [ebx + 2]
shl edx, 0x10
or edx, eax
pop edi
mov eax, edx
cmp edx, esi
not eax
pop esi
cmovne eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, esi
pop edi
mov eax, edx
cmp edx, esi
not eax
pop esi
cmovne eax, edx
pop ebx
mov esp, ebp
pop ebp
ret