Function at 0x1004bbd0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, esi
cmp esi, 0xd800
jae 0x1004bbf4
mov eax, esi
sar eax, 5
movzx ecx, word [eax*2 + 0x10114598]
jmp 0x1004bc50
cmp esi, 0xffff
ja 0x1004bc13
xor ecx, ecx
mov eax, 0x140
cmp esi, 0xdbff
cmovle ecx, eax
mov eax, esi
sar eax, 5
jmp 0x1004bc46
cmp esi, 0x10ffff
jbe 0x1004bc22
mov eax, 0xd58
jmp 0x1004bc58
cmp esi, 0xe0800
jl 0x1004bc31
mov eax, 0x3040
jmp 0x1004bc58
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 + 0x10114598]
mov eax, esi
and eax, 0x1f
lea eax, [eax + ecx*4]
movzx eax, word [eax*2 + 0x10114598]
mov dword [ebp - 8], eax
test al, 8
jne 0x1004bc7c
test al, 2
je 0x1004bf22
movsx edi, ax
sar edi, 7
add edi, esi
jmp 0x1004bf22
movzx eax, ax
shr eax, 4
movzx ebx, word [eax*2 + 0x1011a620]
lea ecx, [eax*2 + 0x1011a622]
mov dword [ebp - 4], ecx
test ebx, 0x4000
je 0x1004bea4
cmp dword [ebp + 0x18], 3
jne 0x1004bd75
cmp esi, 0x49
je 0x1004bcbc
cmp esi, 0x4a
je 0x1004bcbc
cmp esi, 0x12e
jne 0x1004bcee
cmp dword [ebp + 0xc], 0
je 0x1004bcee
push 1
jmp 0x1004bcd9
push eax
call fcn.10098c12
pop ecx
cmp eax, 0x40
je 0x1004bd0a
cmp eax, 0x60
jne 0x1004bcee
push 0
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
call dword [0x100f3234]
call dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
jns 0x1004bcc6
cmp esi, 0xcc
je 0x1004bd0a
cmp esi, 0xcd
je 0x1004bd0a
cmp esi, 0x128
jne 0x1004be4a
sub esi, 0x49
je 0x1004be52
sub esi, 1
je 0x1004bd64
sub esi, 0x82
je 0x1004bd57
sub esi, 1
je 0x1004bd4c
sub esi, 0x5b
je 0x1004bd41
sub esi, 6
je 0x1004bd36
xor eax, eax
jmp 0x1004bf2d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1011b660
jmp 0x1004bd6d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1011b678
jmp 0x1004bd60
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1011b670
jmp 0x1004bd60
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1011b668
push 3
jmp 0x1004bd6f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1011b65c
push 2
pop eax
jmp 0x1004bf2d
cmp dword [ebp + 0x18], 2
jne 0x1004be4a
cmp esi, 0x130
jne 0x1004bd8b
push 0x69
jmp 0x1004bd6f
cmp esi, 0x307
jne 0x1004be07
cmp dword [ebp + 0xc], 0
je 0x1004bdc5
push 0xffffffffffffffff
jmp 0x1004bdb0
cmp eax, 0x49
je 0x1004bdfc
push eax
call fcn.10098c12
pop ecx
cmp eax, 0x60
jne 0x1004bdc5
push 0
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
call dword [0x100f3234]
call dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
jns 0x1004bd9d
test bl, 0x10
je 0x1004bf06
test byte [ebp - 8], 2
je 0x1004bf06
mov eax, ebx
and eax, 0xf
movzx ecx, byte [eax + 0x1011b680]
mov eax, dword [ebp - 4]
test ebx, 0x100
jne 0x1004bee3
movzx edx, word [eax + ecx*2]
jmp 0x1004bef1
mov eax, dword [ebp + 0x14]
and dword [eax], 0
jmp 0x1004bd2f
cmp esi, 0x49
jne 0x1004be4a
cmp dword [ebp + 0xc], 0
je 0x1004be40
push 1
jmp 0x1004be2b
cmp eax, 0x307
je 0x1004bdc5
push eax
call fcn.10098c12
pop ecx
cmp eax, 0x60
jne 0x1004be40
push 0
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
call dword [0x100f3234]
call dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
jns 0x1004be16
mov eax, 0x131
jmp 0x1004bf2d
cmp esi, 0x130
jne 0x1004be60
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1011b60c
jmp 0x1004bd6d
cmp esi, 0x3a3
jne 0x1004bdc5
push 1
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.10098c12
add esp, 0xc
test al, al
jne 0x1004bdc5
push 0xffffffffffffffff
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.10098c12
add esp, 0xc
test al, al
je 0x1004bdc5
lea eax, [esi + 0x1f]
jmp 0x1004bf2d
test bl, bl
jns 0x1004bdc5
mov eax, ebx
and eax, 0x7f
movzx eax, byte [eax + 0x1011b680]
test ebx, 0x100
jne 0x1004bec5
lea ecx, [ecx + eax*2]
jmp 0x1004becb
lea ecx, [ecx + eax*4]
add ecx, 2
movzx edx, word [ecx]
and edx, 0xf
je 0x1004bdc5
mov eax, dword [ebp + 0x14]
add ecx, 2
mov dword [eax], ecx
mov eax, edx
jmp 0x1004bf2d
movzx edx, word [eax + ecx*4]
movzx eax, word [eax + ecx*4 + 2]
shl edx, 0x10
or edx, eax
lea ecx, [edx + esi]
and ebx, 0x400
sub esi, edx
test bx, bx
cmove esi, ecx
mov eax, esi
jmp 0x1004bf2d
test bl, 1
je 0x1004bf22
mov eax, dword [ebp - 4]
movzx edi, word [eax]
test ebx, 0x100
je 0x1004bf22
movzx eax, word [eax + 2]
shl edi, 0x10
or edi, eax
mov ecx, edi
cmp edi, esi
not ecx
cmove edi, ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret