Function at 0x4a85ba
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], edi
cmp edi, 0xd800
jae 0x4a85e1
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x10]
mov eax, edi
sar eax, 5
movzx eax, word [ecx + eax*2]
jmp 0x4a8644
cmp edi, 0xffff
ja 0x4a8609
cmp edi, 0xdbff
jg 0x4a85f8
mov eax, 0x140
jmp 0x4a85fa
xor eax, eax
mov esi, dword [ebp + 8]
mov ecx, edi
sar ecx, 5
add ecx, eax
mov eax, dword [esi + 0x10]
jmp 0x4a8640
mov esi, dword [ebp + 8]
cmp edi, 0x10ffff
jbe 0x4a861c
mov eax, dword [esi + 0x1c]
sub eax, 0xffffff80
jmp 0x4a864c
cmp edi, dword [esi + 0x30]
jl 0x4a8626
mov eax, dword [esi + 0x34]
jmp 0x4a864c
mov eax, dword [esi + 0x10]
mov ecx, edi
sar ecx, 0xb
movzx ecx, word [eax + ecx*2 + 0x1040]
mov edx, edi
sar edx, 5
and edx, 0x3f
add ecx, edx
movzx eax, word [eax + ecx*2]
mov ecx, edi
and ecx, 0x1f
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 0x10]
movzx eax, word [ecx + eax*2]
test al, 8
jne 0x4a8673
mov cl, al
and cl, 3
cmp cl, 2
jb 0x4a88c6
cwde
sar eax, 6
add eax, edi
mov dword [ebp - 4], eax
jmp 0x4a88c2
mov ecx, dword [esi + 8]
movzx eax, ax
shr eax, 4
lea eax, [ecx + eax*2]
movzx ecx, word [eax]
inc eax
inc eax
mov dword [ebp + 8], ecx
mov dword [ebp - 8], eax
test ecx, 0x4000
je 0x4a885e
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
call fcn.004a8467
mov ebx, dword [ebp + 0x10]
pop ecx
pop ecx
cmp eax, 3
jne 0x4a8772
cmp edi, 0x49
je 0x4a86c1
cmp edi, 0x4a
je 0x4a86c1
cmp edi, 0x12e
jne 0x4a86e7
test ebx, ebx
je 0x4a86e7
push 1
jmp 0x4a86dc
mov ecx, esi
call fcn.004a8340
cmp eax, 0x20
je 0x4a8703
cmp eax, 0x30
jne 0x4a86e7
push 0
push dword [ebp + 0x14]
call ebx
pop ecx
pop ecx
test eax, eax
jge 0x4a86c9
cmp edi, 0xcc
je 0x4a8703
cmp edi, 0xcd
je 0x4a8703
cmp edi, 0x128
jne 0x4a8817
mov eax, edi
sub eax, 0x49
je 0x4a8761
dec eax
je 0x4a8756
sub eax, 0x82
je 0x4a8749
dec eax
je 0x4a873e
sub eax, 0x5b
je 0x4a8733
sub eax, 6
je 0x4a8728
xor eax, eax
jmp 0x4a88d0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x552198
jmp 0x4a876a
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x5521b0
jmp 0x4a8752
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x5521a8
jmp 0x4a8752
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x5521a0
push 3
jmp 0x4a876c
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x552044
jmp 0x4a876a
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x54c9fc
push 2
pop eax
jmp 0x4a88d0
cmp eax, 2
jne 0x4a8817
cmp edi, 0x130
jne 0x4a8787
push 0x69
jmp 0x4a876c
mov edi, 0x307
cmp dword [ebp + 0xc], edi
jne 0x4a87df
test ebx, ebx
je 0x4a87b7
push 0xffffffffffffffff
jmp 0x4a87ac
cmp eax, 0x49
je 0x4a8721
mov ecx, esi
call fcn.004a8340
cmp eax, 0x30
jne 0x4a87b7
push 0
push dword [ebp + 0x14]
call ebx
pop ecx
pop ecx
test eax, eax
jge 0x4a8799
mov edi, dword [ebp + 0xc]
test byte [ebp + 8], 1
je 0x4a88c6
test dword [ebp + 8], 0x100
jne 0x4a88ad
mov eax, dword [ebp - 8]
movzx eax, word [eax]
mov dword [ebp - 4], eax
jmp 0x4a88bf
cmp dword [ebp + 0xc], 0x49
jne 0x4a8814
test ebx, ebx
je 0x4a880a
push 1
jmp 0x4a87ff
cmp eax, edi
je 0x4a87b7
mov ecx, esi
call fcn.004a8340
cmp eax, 0x30
jne 0x4a880a
push 0
push dword [ebp + 0x14]
call ebx
pop ecx
pop ecx
test eax, eax
jge 0x4a87ed
mov eax, 0x131
jmp 0x4a88d0
mov edi, dword [ebp + 0xc]
cmp edi, 0x130
je 0x4a8761
cmp edi, 0x3a3
jne 0x4a87ba
push 1
push dword [ebp + 0x14]
push ebx
push esi
call fcn.004a8584
add esp, 0x10
test al, al
jne 0x4a87ba
push 0xffffffffffffffff
push dword [ebp + 0x14]
push ebx
push esi
call fcn.004a8584
add esp, 0x10
test al, al
je 0x4a87ba
lea eax, [edi + 0x1f]
jmp 0x4a88d0
test cl, cl
jns 0x4a87ba
test ecx, 0x100
jne 0x4a8880
and ecx, 0x7f
movzx ecx, byte [ecx + 0x552098]
lea ecx, [eax + ecx*2]
movzx eax, word [ecx]
jmp 0x4a889a
and ecx, 0x7f
movzx ecx, byte [ecx + 0x552098]
lea ecx, [eax + ecx*4]
movzx eax, word [ecx]
inc ecx
inc ecx
movzx edx, word [ecx]
shl eax, 0x10
or eax, edx
and eax, 0xf
je 0x4a87ba
mov edx, dword [ebp + 0x18]
add ecx, 2
mov dword [edx], ecx
jmp 0x4a88d0
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
movzx ecx, word [ecx + 2]
shl eax, 0x10
or ecx, eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, edi
jne 0x4a88cd
mov eax, dword [ebp - 4]
not eax
jmp 0x4a88d0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret