Function at 0x10048df0
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 0x10048e14
mov eax, esi
sar eax, 5
movzx ecx, word [eax*2 + 0x10110fa8]
jmp 0x10048e70
cmp esi, 0xffff
ja 0x10048e33
xor ecx, ecx
mov eax, 0x140
cmp esi, 0xdbff
cmovle ecx, eax
mov eax, esi
sar eax, 5
jmp 0x10048e66
cmp esi, 0x10ffff
jbe 0x10048e42
mov eax, 0xd58
jmp 0x10048e78
cmp esi, 0xe0800
jl 0x10048e51
mov eax, 0x3040
jmp 0x10048e78
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 + 0x10110fa8]
mov eax, esi
and eax, 0x1f
lea eax, [eax + ecx*4]
movzx eax, word [eax*2 + 0x10110fa8]
mov dword [ebp - 8], eax
test al, 8
jne 0x10048e9c
test al, 2
je 0x10049142
movsx edi, ax
sar edi, 7
add edi, esi
jmp 0x10049142
movzx eax, ax
shr eax, 4
movzx ebx, word [eax*2 + 0x10117030]
lea ecx, [eax*2 + 0x10117032]
mov dword [ebp - 4], ecx
test ebx, 0x4000
je 0x100490c4
cmp dword [ebp + 0x18], 3
jne 0x10048f95
cmp esi, 0x49
je 0x10048edc
cmp esi, 0x4a
je 0x10048edc
cmp esi, 0x12e
jne 0x10048f0e
cmp dword [ebp + 0xc], 0
je 0x10048f0e
push 1
jmp 0x10048ef9
push eax
call fcn.1002fc9c
pop ecx
cmp eax, 0x40
je 0x10048f2a
cmp eax, 0x60
jne 0x10048f0e
push 0
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
call dword [0x100f021c]
call dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
jns 0x10048ee6
cmp esi, 0xcc
je 0x10048f2a
cmp esi, 0xcd
je 0x10048f2a
cmp esi, 0x128
jne 0x1004906a
sub esi, 0x49
je 0x10049072
sub esi, 1
je 0x10048f84
sub esi, 0x82
je 0x10048f77
sub esi, 1
je 0x10048f6c
sub esi, 0x5b
je 0x10048f61
sub esi, 6
je 0x10048f56
xor eax, eax
jmp 0x1004914d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10118078
jmp 0x10048f8d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10118090
jmp 0x10048f80
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10118088
jmp 0x10048f80
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10118080
push 3
jmp 0x10048f8f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10118074
push 2
pop eax
jmp 0x1004914d
cmp dword [ebp + 0x18], 2
jne 0x1004906a
cmp esi, 0x130
jne 0x10048fab
push 0x69
jmp 0x10048f8f
cmp esi, 0x307
jne 0x10049027
cmp dword [ebp + 0xc], 0
je 0x10048fe5
push 0xffffffffffffffff
jmp 0x10048fd0
cmp eax, 0x49
je 0x1004901c
push eax
call fcn.1002fc9c
pop ecx
cmp eax, 0x60
jne 0x10048fe5
push 0
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
call dword [0x100f021c]
call dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
jns 0x10048fbd
test bl, 0x10
je 0x10049126
test byte [ebp - 8], 2
je 0x10049126
mov eax, ebx
and eax, 0xf
movzx ecx, byte [eax + 0x10118098]
mov eax, dword [ebp - 4]
test ebx, 0x100
jne 0x10049103
movzx edx, word [eax + ecx*2]
jmp 0x10049111
mov eax, dword [ebp + 0x14]
and dword [eax], 0
jmp 0x10048f4f
cmp esi, 0x49
jne 0x1004906a
cmp dword [ebp + 0xc], 0
je 0x10049060
push 1
jmp 0x1004904b
cmp eax, 0x307
je 0x10048fe5
push eax
call fcn.1002fc9c
pop ecx
cmp eax, 0x60
jne 0x10049060
push 0
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
call dword [0x100f021c]
call dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
jns 0x10049036
mov eax, 0x131
jmp 0x1004914d
cmp esi, 0x130
jne 0x10049080
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10118024
jmp 0x10048f8d
cmp esi, 0x3a3
jne 0x10048fe5
push 1
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1002fc9c
add esp, 0xc
test al, al
jne 0x10048fe5
push 0xffffffffffffffff
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1002fc9c
add esp, 0xc
test al, al
je 0x10048fe5
lea eax, [esi + 0x1f]
jmp 0x1004914d
test bl, bl
jns 0x10048fe5
mov eax, ebx
and eax, 0x7f
movzx eax, byte [eax + 0x10118098]
test ebx, 0x100
jne 0x100490e5
lea ecx, [ecx + eax*2]
jmp 0x100490eb
lea ecx, [ecx + eax*4]
add ecx, 2
movzx edx, word [ecx]
and edx, 0xf
je 0x10048fe5
mov eax, dword [ebp + 0x14]
add ecx, 2
mov dword [eax], ecx
mov eax, edx
jmp 0x1004914d
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 0x1004914d
test bl, 1
je 0x10049142
mov eax, dword [ebp - 4]
movzx edi, word [eax]
test ebx, 0x100
je 0x10049142
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