Function at 0x4a8322ec
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
cmp edi, 0xffff
mov dword [ebp - 4], edi
ja 0x4a83233b
lea eax, [edi - 0xd800]
mov ecx, 0x3ff
cmp ecx, eax
sbb eax, eax
and eax, 0xfffffec0
mov edx, edi
add eax, 0x140
sar edx, 5
mov ecx, dword [esi + 0x10]
add edx, eax
movzx eax, word [ecx + edx*2]
mov edx, edi
and edx, 0x1f
lea eax, [edx + eax*4]
movzx eax, word [ecx + eax*2]
jmp 0x4a832383
cmp edi, 0x10ffff
ja 0x4a83237f
mov ecx, dword [esi + 0x10]
mov eax, edi
sar eax, 0xa
sub eax, 0x2840
movzx eax, ax
movzx eax, ax
mov edx, eax
shr edx, 5
movzx edx, word [ecx + edx*2]
and eax, 0x1f
lea eax, [eax + edx*4]
movzx eax, word [ecx + eax*2]
movzx eax, ax
push eax
call dword [esi + 0x18]
test eax, eax
pop ecx
jle 0x4a83237f
mov edx, edi
sar edx, 5
and edx, 0x1f
jmp 0x4a832324
movzx eax, word [esi + 0x24]
test al, 8
jne 0x4a8323a5
mov cl, al
and cl, 3
cmp cl, 2
jb 0x4a8325ea
movsx eax, ax
sar eax, 6
add eax, edi
mov dword [ebp - 4], eax
jmp 0x4a8325e6
mov ecx, dword [esi + 8]
movzx eax, ax
shr eax, 4
lea eax, [ecx + eax*2]
movzx ecx, word [eax]
inc eax
inc eax
test cx, 0x4000
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
je 0x4a83258b
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
call fcn.4a832119
cmp eax, 3
mov ebx, dword [ebp + 0x10]
pop ecx
pop ecx
jne 0x4a8324fa
cmp edi, 0x49
je 0x4a8323f2
cmp edi, 0x4a
je 0x4a8323f2
cmp edi, 0x12e
jne 0x4a832424
test ebx, ebx
je 0x4a832424
push 1
push dword [ebp + 0x14]
call ebx
test eax, eax
pop ecx
pop ecx
jl 0x4a832424
mov edi, esi
call fcn.4a831fb0
cmp eax, 0x20
je 0x4a832488
cmp eax, 0x30
jne 0x4a832421
push 0
push dword [ebp + 0x14]
call ebx
test eax, eax
pop ecx
pop ecx
jge 0x4a832403
mov edi, dword [ebp + 0xc]
cmp edi, 0xcc
je 0x4a83248b
cmp edi, 0xcd
je 0x4a83248b
cmp edi, 0x128
je 0x4a83248b
cmp edi, 0x130
je 0x4a8324e9
cmp edi, 0x3a3
jne 0x4a83254d
push 1
push dword [ebp + 0x14]
push ebx
call fcn.4a8321e5
add esp, 0xc
test al, al
jne 0x4a83254d
push 0xffffffffffffffff
push dword [ebp + 0x14]
push ebx
call fcn.4a8321e5
add esp, 0xc
test al, al
je 0x4a83254d
lea eax, [edi + 0x1f]
jmp 0x4a8325f4
mov edi, dword [ebp + 0xc]
mov eax, edi
sub eax, 0x49
je 0x4a8324e9
dec eax
je 0x4a8324de
sub eax, 0x82
je 0x4a8324d1
dec eax
je 0x4a8324c6
sub eax, 0x5b
je 0x4a8324bb
sub eax, 6
je 0x4a8324b0
xor eax, eax
jmp 0x4a8325f4
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x4a8798ec
jmp 0x4a8324f2
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x4a879904
jmp 0x4a8324da
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x4a8798fc
jmp 0x4a8324da
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x4a8798f4
push 3
jmp 0x4a8324f4
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x4a8798e8
jmp 0x4a8324f2
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x4a8797e4
push 2
pop eax
jmp 0x4a8325f4
cmp eax, 2
jne 0x4a83243c
cmp edi, 0x130
jne 0x4a83250f
push 0x69
jmp 0x4a8324f4
cmp edi, 0x307
jne 0x4a83256a
test ebx, ebx
je 0x4a83254d
push 0xffffffffffffffff
push dword [ebp + 0x14]
call ebx
test eax, eax
pop ecx
pop ecx
jl 0x4a83254d
cmp eax, 0x49
je 0x4a8324a9
mov edi, esi
call fcn.4a831fb0
cmp eax, 0x30
jne 0x4a83254a
push 0
push dword [ebp + 0x14]
call ebx
test eax, eax
pop ecx
pop ecx
jge 0x4a832528
mov edi, dword [ebp + 0xc]
test byte [ebp - 8], 1
je 0x4a8325ea
test word [ebp - 8], 0x100
jne 0x4a8325d1
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
mov dword [ebp - 4], eax
jmp 0x4a8325e3
cmp edi, 0x49
jne 0x4a83243c
push dword [ebp + 0x14]
push ebx
push esi
call fcn.4a8322af
add esp, 0xc
test al, al
jne 0x4a83254d
mov eax, 0x131
jmp 0x4a8325f4
test cl, cl
jns 0x4a83254d
test cx, 0x100
jne 0x4a8325a8
and ecx, 0x7f
movzx ecx, byte [ecx + 0x4a8797e8]
lea ecx, [eax + ecx*2]
movzx eax, word [ecx]
jmp 0x4a8325c2
and ecx, 0x7f
movzx ecx, byte [ecx + 0x4a8797e8]
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 0x4a83254d
mov edx, dword [ebp + 0x18]
add ecx, 2
mov dword [edx], ecx
jmp 0x4a8325f4
mov ecx, dword [ebp - 0xc]
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 0x4a8325f1
mov eax, dword [ebp - 4]
not eax
jmp 0x4a8325f4
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret