Function at 0x489cb0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ecx, dword [ebp + 0x1c]
push ebx
push esi
xor bl, bl
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xec], eax
mov byte [ebp - 0xa], al
mov byte [ebp - 1], al
mov byte [ebp - 0x11], bl
mov byte [ebp - 9], al
mov dword [ebp - 0x30], eax
push edi
mov edi, dword [ebp + 0x20]
test edx, edx
jne 0x489d02
cmp dword [ebp + 0x10], edx
mov eax, 0x4db49a
cmovne eax, edx
mov edx, eax
mov dword [ebp + 0xc], edx
test dword [ebp + 0x18], 0x1fff9fc0
jne 0x48abc5
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x48abb9
test edx, edx
je 0x48abb9
test ecx, ecx
je 0x48abb9
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
add eax, edx
mov dword [ebp - 0x100], eax
mov esi, eax
mov dword [ebp - 0x1c], esi
lea eax, [esi - 1]
mov dword [ebp - 0xf0], eax
cmp ecx, 0xffffffff
jne 0x489d66
push edx
call fcn.0046af10
mov edx, dword [ebp + 0xc]
mov ecx, eax
add esp, 4
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0xf8], 1
lea eax, [edx + ecx]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0x14], ecx
jbe 0x489d83
pop edi
pop esi
mov eax, 0xffffffdf
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x38], 0x50435245
je 0x489d98
pop edi
pop esi
mov eax, 0xffffffe1
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x48]
mov eax, ecx
and al, 7
cmp al, 1
je 0x489daf
pop edi
pop esi
mov eax, 0xffffffe0
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebx + 0x40]
mov eax, ebx
shr ecx, 0xe
and ecx, 0xc
shr eax, 0x13
or dword [ebp + 0x18], ecx
and eax, 1
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], eax
test cl, 0x20
je 0x489dd8
mov eax, 2
jmp 0x489de0
mov eax, ecx
shr eax, 4
and eax, 1
movzx eax, ax
mov word [ebp - 0xa0], ax
test ax, ax
je 0x489dfe
mov eax, ebx
or eax, ecx
test eax, 0x20000000
jne 0x48abc5
test edi, edi
je 0x489e1c
cmp dword [edi + 0x1c], 0xffffffff
je 0x489e1c
test ebx, 0x800000
jne 0x489e1c
pop edi
pop esi
mov eax, 0xffffffc8
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
test byte [eax + 0x2d], 1
je 0x489e40
push dword [eax + 8]
push dword [eax + 0x10]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp + 0x1c]
add esp, 8
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
and byte [eax + 0x2d], 0xfe
mov dword [eax + 0x10], 0
add eax, 0x28
cmp dword [ebp - 8], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x8c], edx
mov dword [eax], 0
je 0x489f8b
test ecx, 0x40000000
je 0x489e77
test ebx, 0x4000000
je 0x489f8b
mov ecx, dword [ebp - 0x10]
mov eax, ebx
xor edx, edx
and eax, 0x4000000
cmp esi, ecx
jae 0x489ea5
test eax, eax
je 0x489f9b
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x489ea5
inc esi
mov edx, 1
mov dword [ebp - 0x1c], esi
cmp esi, ecx
jb 0x489e90
mov ecx, esi
mov dword [ebp - 0x8c], ecx
test edx, edx
jne 0x489eeb
mov eax, dword [ebp + 8]
movzx edx, word [eax + 0x64]
test edx, edx
je 0x489eeb
mov edi, dword [ebp + 0xc]
nop
cmp ecx, edi
jbe 0x489ee8
dec ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, edi
jbe 0x489ee3
nop
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x489ee3
dec ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, edi
ja 0x489ed0
sub edx, 1
jne 0x489ec0
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x20]
sub eax, ecx
add eax, dword [ebp + 0x10]
push eax
push ecx
call fcn.0046d980
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
mov dword [ecx + 0x30], eax
test eax, eax
je 0x489f85
nop word [eax + eax]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp + 0xc]
sub ecx, edx
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
test ebx, 0x4000000
je 0x489fc4
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + 0x30], 0
jg 0x489fc4
add eax, edx
mov dword [ebp - 0x10], eax
cmp eax, esi
jae 0x489fbb
lea ecx, [eax + 1]
mov dword [ebp - 0x8c], ecx
cmp ecx, esi
jae 0x489f69
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x489f69
inc ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, esi
jb 0x489f56
push dword [ebp - 0x20]
sub edx, ecx
add edx, dword [ebp + 0x10]
push edx
push ecx
call fcn.0046d980
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
mov dword [ecx + 0x30], eax
test eax, eax
jne 0x489f10
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
test edi, edi
jne 0x489fd1
movq xmm0, qword [ecx]
mov eax, dword [ecx + 8]
jmp 0x489fd8
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x489ea5
xor eax, eax
cmp eax, dword [ebp + 0x14]
pop edi
sbb eax, eax
and eax, 0xfffffff2
pop esi
add eax, 0xffffffea
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x30], 2
jmp 0x489f8b
mov eax, dword [ebp + 0x1c]
pop edi
pop esi
pop ebx
mov eax, dword [eax + 0x30]
mov esp, ebp
pop ebp
ret
movq xmm0, qword [edi]
mov eax, dword [edi + 8]
mov edx, dword [ecx + 0x40]
test edi, edi
mov dword [ebp - 0xd4], eax
mov ebx, 0x4dfc7c
mov ecx, dword [ecx + 0x48]
cmovne ebx, edi
mov edi, dword [ebp + 0x10]
mov eax, edx
or eax, dword [ebp + 0x18]
shr eax, 0x1f
mov dword [ebp - 0x3c], eax
mov eax, edx
shr eax, 8
and eax, 1
movq qword [ebp - 0xdc], xmm0
mov dword [ebp - 0xf4], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x140], 2
cmp dword [ebx + 0x1c], 0xffffffff
mov dword [ebp - 0xe8], eax
cmovne edi, dword [ebx + 0x1c]
mov eax, dword [ebp + 0xc]
add edi, eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xfc], edi
lea edi, [ebp - 0x140]
mov dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x10]
mov eax, edi
sub eax, dword [ebp + 0xc]
mov dword [ebp - 0x124], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, ecx
shr eax, 0xc
and eax, 1
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88], edi
cmp word [eax + 0x64], 0
ja 0x48a0ac
test ecx, 0x2000
jne 0x48a0ac
xor eax, eax
jmp 0x48a0b1
mov eax, 1
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x74], 0
movzx edx, word [eax + 0x6e]
lea edi, [eax + 0x70]
movzx eax, word [eax + 0x6c]
mov ecx, eax
mov dword [ebp - 0x98], edi
imul ecx, edx
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x78], 0
mov word [ebp - 0x9c], dx
mov dword [ebp - 0x54], 0
add ecx, edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x94], ecx
mov ax, word [edi + 0x60]
mov word [ebp - 0x9e], ax
movzx eax, word [edi + 0x62]
dec eax
cmp eax, 5
ja case.default.0x48a121
jmp dword [eax*4 + 0x48abd4]
mov dword [ebp - 0x50], 1
mov byte [ebp - 0x4c], 0xd
jmp 0x48a16e
mov dword [ebp - 0x50], 1
mov byte [ebp - 0x4c], 0xa
jmp 0x48a16e
mov dword [ebp - 0x50], 1
mov byte [ebp - 0x4c], 0
jmp 0x48a16e
mov dword [ebp - 0x50], 2
mov word [ebp - 0x4c], 0xa0d
jmp 0x48a16e
mov dword [ebp - 0x54], 1
jmp 0x48a16e
mov dword [ebp - 0x54], 2
movzx eax, word [edi + 0x68]
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
lea eax, [eax*8 + 0x57]
and eax, 0xfffffffc
cmp edx, dword [edi + 0x4c]
mov dword [ebp - 0x38], eax
cmovae edx, dword [edi + 0x4c]
shl edx, 0xa
cmp ecx, dword [edi + 0x50]
mov dword [ebp - 0xd0], edx
cmovae ecx, dword [edi + 0x50]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebx + 0x28]
cmp ecx, dword [edi + 0x54]
cmovae ecx, dword [edi + 0x54]
lea edi, [eax + eax*4]
add edi, edi
mov dword [ebp - 0xc8], ecx
mov ecx, 0x5000
cmp edi, ecx
cmovb edi, ecx
cmp edi, edx
jbe 0x48a1d7
cmp eax, edx
jbe 0x48a1d5
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, edx
mov ebx, dword [ebp + 0x1c]
cmp dword [ebx + 0x1c], edi
jae 0x48a211
push dword [ebx + 8]
mov eax, dword [ebx + 4]
push dword [ebx + 0x18]
call eax
push dword [ebx + 8]
mov eax, dword [ebx]
push edi
call eax
add esp, 0x10
mov dword [ebx + 0x18], eax
test eax, eax
jne 0x48a20b
mov dword [ebx + 0x1c], eax
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x1c], edi
add eax, 0xffffffac
push eax
mov eax, dword [ebx + 0x18]
add eax, 0x54
push 0xff
push eax
call fcn.004a7d50
mov ecx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0xb4], eax
lea edi, [eax + 0x100]
add eax, 0x340
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], eax
test dl, 0x10
je 0x48a332
mov ah, byte [ecx + 0x58]
mov dword [ebp - 0x28], 1
mov al, ah
mov byte [ebp - 1], ah
mov byte [ebp - 0xa], al
test dl, 0x20
je 0x48a352
movzx ecx, ah
mov bl, byte [ecx + edi]
mov byte [ebp - 1], bl
mov ebx, dword [ebp - 0x18]
cmp al, 0x7f
jbe 0x48a2be
test ebx, 0x20000
je 0x48a2be
cmp dword [ebp - 8], 0
jne 0x48a2be
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x4e6b90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4eaf90]
lea eax, [eax + eax*2]
mov ah, byte [eax*4 + 0x4e2984]
add ah, byte [ebp - 0xa]
mov byte [ebp - 1], ah
mov ecx, dword [ebp + 8]
test dl, dl
jns 0x48a35a
mov al, byte [ecx + 0x5c]
test edx, 0x100
mov edx, dword [ebp - 8]
mov ah, al
mov dword [ebp - 0xec], 1
mov byte [ebp - 9], al
mov byte [ebp - 0x11], ah
je 0x48a35d
movzx ecx, al
mov al, byte [edi + ecx]
mov byte [ebp - 9], al
cmp ah, 0x7f
jbe 0x48a35d
test ebx, 0x20000
je 0x48a35d
test edx, edx
jne 0x48a35d
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x4e6b90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4eaf90]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x4e2984]
add al, byte [ebp - 0x11]
mov byte [ebp - 9], al
jmp 0x48a35d
cmp dword [ebp - 0xe8], 0
jne 0x48a352
mov ebx, dword [ebp - 0x18]
test dl, 0x40
je 0x48a2c1
lea eax, [ecx + 0x14]
mov dword [ebp - 0x24], eax
jmp 0x48a2c1
mov ebx, dword [ebp - 0x18]
jmp 0x48a2c1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x50]
nop dword [eax]
nop word [eax + eax]
mov ebx, dword [ebp + 8]
test dword [ebx + 0x40], 0x10000
jne 0x48a887
cmp dword [ebp - 0xf4], 0
je 0x48a49c
mov ebx, dword [ebp - 0x10]
mov edi, esi
cmp esi, ebx
jae 0x48a499
test edx, edx
mov edx, dword [ebp - 0x54]
je 0x48a437
test edx, edx
je 0x48a3f8
cmp edi, eax
jae 0x48a3e9
push dword [ebp - 8]
lea ecx, [ebp - 0x50]
push ecx
push eax
push edx
push edi
call fcn.0046b140
mov ecx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
je 0x48a3e9
mov eax, 1
jmp 0x48a3eb
xor eax, eax
test eax, eax
jne 0x48a499
mov edx, dword [ebp - 0x54]
jmp 0x48a41a
sub eax, ecx
cmp edi, eax
ja 0x48a41a
mov al, byte [edi]
cmp al, byte [ebp - 0x4c]
jne 0x48a41a
cmp ecx, 1
je 0x48a499
mov al, byte [edi + 1]
cmp al, byte [ebp - 0x4b]
je 0x48a499
inc edi
cmp edi, ebx
jae 0x48a499
nop
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x48a42f
inc edi
cmp edi, ebx
jb 0x48a420
jmp 0x48a499
mov eax, dword [ebp - 0x88]
jmp 0x48a3c1
mov esi, dword [ebp - 8]
nop word [eax + eax]
test edx, edx
je 0x48a471
cmp edi, eax
jae 0x48a466
push esi
lea ecx, [ebp - 0x50]
push ecx
push eax
push edx
push edi
call fcn.0046b140
mov ecx, dword [ebp - 0x50]
add esp, 0x14
test eax, eax
je 0x48a466
mov eax, 1
jmp 0x48a468
xor eax, eax
test eax, eax
jne 0x48a496
mov edx, dword [ebp - 0x54]
jmp 0x48a48b
sub eax, ecx
cmp edi, eax
ja 0x48a48b
mov al, byte [edi]
cmp al, byte [ebp - 0x4c]
jne 0x48a48b
cmp ecx, 1
je 0x48a496
mov al, byte [edi + 1]
cmp al, byte [ebp - 0x4b]
je 0x48a496
mov eax, dword [ebp - 0x88]
inc edi
cmp edi, ebx
jb 0x48a440
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x3c], 0
je 0x48a596
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
test ecx, ecx
jne 0x48a4b4
test ebx, ebx
je 0x48a4fb
cmp esi, edi
sbb eax, eax
neg eax
cmp esi, edi
jae 0x48a4f3
mov al, byte [esi]
test ecx, ecx
je 0x48a4ce
cmp al, byte [ebp - 0xa]
je 0x48a4fb
cmp al, byte [ebp - 1]
je 0x48a4fb
test ebx, ebx
je case.0x48a925.997
movzx edx, al
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebx], al
mov eax, 0
setne al
test eax, eax
je case.0x48a925.997
mov ecx, dword [ebp - 0x88]
cmp word [ebp - 0xa0], 0
mov edi, ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10], edi
jne 0x48a889
movzx eax, word [edx + 0x66]
sub ecx, esi
cmp ecx, eax
jl case.0x48a925.997
mov edi, dword [ebp - 0x28]
add edi, esi
cmp dword [ebp - 0xec], 0
je 0x48a889
cmp edi, dword [ebp - 0xf0]
jbe 0x48a889
cmp ecx, 0x1388
jb 0x48a561
cmp dword [ebp - 0x3c], 0
jne 0x48a889
cmp ecx, 0x4c4b40
jae 0x48a889
mov al, byte [ebp - 0x11]
movzx ecx, al
cmp al, byte [ebp - 9]
je 0x48a855
mov ebx, dword [ebp - 0x88]
sub ebx, edi
push ebx
push ecx
push edi
call fcn.004a8290
add esp, 0xc
test eax, eax
jne 0x48a870
movzx eax, byte [ebp - 9]
push ebx
push eax
jmp 0x48a85f
cmp dword [ebp - 0x28], 0
je 0x48a6dc
mov al, byte [ebp - 0xa]
mov ebx, edi
mov dl, byte [ebp - 1]
sub ebx, esi
cmp al, dl
je 0x48a644
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x48a5d1
cmp esi, ecx
ja 0x48a5d1
mov eax, dword [ebp - 0x10]
mov edi, ecx
cmp ecx, eax
mov ecx, 0
cmove edi, ecx
jmp 0x48a5f4
push ebx
movzx eax, al
push eax
push esi
call fcn.004a8290
mov dl, byte [ebp - 1]
mov edi, eax
mov eax, dword [ebp - 0x10]
add esp, 0xc
test edi, edi
mov ecx, edi
cmove ecx, eax
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x48a60d
cmp esi, ecx
ja 0x48a60d
xor edx, edx
mov esi, ecx
cmp ecx, eax
cmove esi, edx
jmp 0x48a62d
push ebx
movzx eax, dl
push eax
push esi
call fcn.004a8290
mov esi, eax
add esp, 0xc
mov eax, dword [ebp - 0x10]
test esi, esi
mov ecx, esi
cmove ecx, eax
mov dword [ebp - 0xe4], ecx
test edi, edi
jne 0x48a638
test esi, esi
cmove esi, eax
jmp 0x48a659
test esi, esi
je 0x48a640
cmp edi, esi
jae 0x48a659
mov esi, edi
jmp 0x48a659
push ebx
movzx eax, al
push eax
push esi
call fcn.004a8290
mov esi, eax
add esp, 0xc
test esi, esi
cmove esi, edi
cmp word [ebp - 0xa0], 0
mov ecx, dword [ebp - 0x88]
jne 0x48a501
cmp esi, ecx
jb 0x48a501
xor ebx, ebx
cmp dword [ebp - 8], 0
mov edi, dword [ebp - 0x10]
je 0x48aaa5
mov ecx, dword [ebp - 0x2c]
cmp edi, ecx
je 0x48aaa5
test ebx, ebx
je 0x48a69c
cmp ebx, 0xfffffffe
jne 0x48aaa5
mov ebx, dword [ebp - 0x20]
nop
lea esi, [edi + 1]
mov dword [ebp - 0x1c], esi
cmp esi, ecx
jae 0x48a6c4
nop word [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x48aa3c
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, ecx
jb 0x48a6b0
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x74]
mov byte [edx + 0x2c], 0
mov dword [edx + 0x14], eax
jmp 0x48ab68
cmp dword [ebp - 0xe8], 0
je 0x48a81b
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x90]
add eax, edx
cmp esi, eax
jbe 0x48a4fb
cmp esi, edi
jae 0x48a7e3
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x48a785
nop dword [eax + eax]
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48a748
cmp esi, edx
jbe 0x48a73c
push ecx
lea ecx, [ebp - 0x50]
push ecx
push edx
push eax
push esi
call fcn.0046b2e0
mov edx, dword [ebp - 0x90]
add esp, 0x14
test eax, eax
je 0x48a73c
mov eax, 1
jmp 0x48a73e
xor eax, eax
test eax, eax
jne 0x48a7e3
jmp 0x48a76e
mov ebx, dword [ebp - 0x50]
lea eax, [edx + ebx]
cmp esi, eax
jb 0x48a771
mov ecx, esi
sub ecx, ebx
mov al, byte [ecx]
cmp al, byte [ebp - 0x4c]
jne 0x48a76e
cmp ebx, 1
je 0x48a7e3
mov al, byte [ecx + 1]
cmp al, byte [ebp - 0x4b]
je 0x48a7e3
mov ecx, dword [ebp - 8]
inc esi
cmp esi, edi
jae 0x48a7e3
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x48a710
inc esi
cmp esi, edi
jb 0x48a776
jmp 0x48a7e3
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48a7b9
cmp esi, edx
jbe 0x48a7b1
push ecx
lea ecx, [ebp - 0x50]
push ecx
push edx
push eax
push esi
call fcn.0046b2e0
mov edx, dword [ebp - 0x90]
add esp, 0x14
test eax, eax
je 0x48a7b1
mov eax, 1
jmp 0x48a7b3
xor eax, eax
test eax, eax
jne 0x48a7e3
jmp 0x48a7db
mov ebx, dword [ebp - 0x50]
lea eax, [edx + ebx]
cmp esi, eax
jb 0x48a7de
mov ecx, esi
sub ecx, ebx
mov al, byte [ecx]
cmp al, byte [ebp - 0x4c]
jne 0x48a7db
cmp ebx, 1
je 0x48a7e3
mov al, byte [ecx + 1]
cmp al, byte [ebp - 0x4b]
je 0x48a7e3
mov ecx, dword [ebp - 8]
inc esi
cmp esi, edi
jb 0x48a785
cmp byte [esi - 1], 0xd
jne 0x48a4fb
mov eax, dword [ebp - 0x54]
cmp eax, 1
je 0x48a7fe
cmp eax, 2
jne 0x48a4fb
cmp esi, edi
jae 0x48a4fb
cmp byte [esi], 0xa
mov ecx, dword [ebp - 0x88]
jne 0x48a501
inc esi
jmp 0x48a501
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x48a4fb
cmp esi, edi
jae 0x48a659
nop
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebx], al
jne 0x48a659
inc esi
cmp esi, edi
jb 0x48a830
jmp 0x48a659
mov eax, dword [ebp - 0x88]
sub eax, edi
push eax
push ecx
push edi
call fcn.004a8290
add esp, 0xc
test eax, eax
je case.0x48a925.997
cmp eax, dword [ebp - 0x88]
jae case.0x48a925.997
mov edx, dword [ebp + 8]
mov dword [ebp - 0xf0], eax
jmp 0x48a889
mov edx, ebx
cmp esi, dword [ebp - 0xfc]
ja case.0x48a925.997
or dword [ebp - 0x104], 1
mov eax, esi
sub eax, dword [ebp + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x30]
or eax, dword [ebp + 0x18]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0xdc]
push eax
push dword [ebp + 0x1c]
movzx eax, word [edx + 0x68]
push dword [ebp - 0x38]
mov dword [ebp - 0x80], esi
push eax
push dword [ebp - 0x94]
mov dword [ebp - 0x7c], esi
push esi
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x5c], 0
call fcn.00479e60
add esp, 0x18
mov ebx, eax
cmp dword [ebp - 0xc0], 0
je 0x48a90c
cmp dword [ebp - 0x18], 0
jne 0x48a90c
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], esi
test ebx, ebx
jg case.default.0x48a925
je case.0x48a925.996
lea eax, [ebx + 0x3e5]
cmp eax, 4
ja case.default.0x48a925
jmp dword [eax*4 + 0x48abec]
mov eax, dword [ebp - 0x5c]
mov edi, esi
mov dword [ebp - 0x58], eax
jmp 0x48a962
mov edi, dword [ebp - 0x6c]
cmp edi, esi
ja 0x48a962
mov ecx, dword [ebp - 8]
lea edi, [esi + 1]
mov dword [ebp - 0x58], 0
test ecx, ecx
je 0x48a965
mov ecx, dword [ebp - 0x10]
cmp edi, ecx
jae 0x48a962
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x48a962
inc edi
cmp edi, ecx
jb 0x48a955
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x54]
xor ebx, ebx
cmp dword [ebp - 0xf4], ebx
je 0x48a9aa
mov eax, dword [ebp - 0x88]
test edx, edx
je 0x48aa12
cmp esi, eax
jae 0x48a99d
push ecx
lea ecx, [ebp - 0x50]
push ecx
push eax
push edx
push esi
call fcn.0046b140
add esp, 0x14
test eax, eax
je 0x48a99d
lea eax, [ebx + 1]
jmp 0x48a99f
xor eax, eax
test eax, eax
jne case.default.0x48a925
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov esi, edi
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x3c], ebx
jne case.default.0x48a925
mov eax, dword [ebp - 0x10]
cmp edi, eax
ja case.default.0x48a925
cmp edi, dword [ebp - 0x100]
jbe 0x48a9fe
cmp byte [edi - 1], 0xd
jne 0x48a9fe
cmp edi, eax
jae 0x48a9fe
cmp byte [edi], 0xa
jne 0x48a9fe
mov eax, dword [ebp + 8]
test dword [eax + 0x48], 0x800
jne 0x48a9fe
cmp edx, 1
je 0x48a9f8
cmp edx, 2
je 0x48a9f8
cmp ecx, 2
jne 0x48a9fe
lea esi, [edi + 1]
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x78], ebx
jmp 0x48a390
mov ecx, dword [ebp - 0x50]
sub eax, ecx
cmp esi, eax
ja 0x48a9ad
mov al, byte [esi]
cmp al, byte [ebp - 0x4c]
jne 0x48a9ad
cmp ecx, 1
je case.default.0x48a925
mov al, byte [esi + 1]
cmp al, byte [ebp - 0x4b]
je case.default.0x48a925
jmp 0x48a9ad
mov eax, dword [ebp + 0xc]
sub eax, esi
mov dword [ebp - 0x8c], esi
add eax, dword [ebp + 0x10]
push ebx
push eax
push esi
call fcn.0046d980
add esp, 0xc
test eax, eax
je 0x48aa88
mov ecx, dword [ebp - 0x2c]
jns 0x48a6a0
mov edi, dword [ebx]
add edi, esi
mov dword [ebp - 0x10], edi
mov eax, edi
mov dword [ebp - 0x88], eax
cmp edi, esi
jbe 0x48a6a0
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], 3
jmp 0x48a366
mov eax, dword [ebp - 0x2c]
mov edi, eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x30], 1
jmp 0x48a366
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x78]
mov dword [edx + 0x14], eax
mov byte [edx + 0x2c], 0
cmp ebx, 1
jne 0x48ab59
movzx eax, word [edx + 0x2e]
mov ecx, dword [ebp - 0xa4]
add eax, eax
cmp ecx, eax
jl 0x48aad5
xor eax, eax
jmp 0x48aae0
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp + 0x1c]
sar eax, 1
inc eax
mov ebx, dword [ebp + 0xc]
sub esi, ebx
mov ecx, dword [ebp - 0x84]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x80]
sub eax, ebx
mov dword [edx + 0x28], esi
cmp dword [ebp - 0x7c], ecx
mov dword [edx + 0x20], eax
cmova ecx, dword [ebp - 0x7c]
sub ecx, ebx
test dword [ebp + 0x18], 0x4000
mov dword [edx + 0x24], ecx
je 0x48ab4c
mov esi, dword [ebp + 0x10]
push dword [edx + 8]
add esi, dword [ebp - 0xf8]
mov eax, dword [edx]
push esi
call eax
mov ecx, dword [ebp + 0x1c]
add esp, 8
mov dword [ecx + 0x10], eax
test eax, eax
je 0x48a1ff
push esi
push ebx
push eax
call fcn.004a77d0
mov edx, dword [ebp + 0x1c]
add esp, 0xc
or byte [edx + 0x2d], 1
mov eax, dword [edx + 0x30]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x30]
pop edi
pop esi
mov dword [edx + 0x10], ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x74]
mov dword [edx + 0x14], eax
test ebx, ebx
je 0x48ab68
cmp ebx, 0xfffffffe
jne 0x48aba1
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x48ab9e
mov eax, dword [ebp + 0xc]
mov ebx, 0xfffffffe
sub ecx, eax
mov dword [edx + 0x10], eax
sub edi, eax
mov dword [edx + 0x34], ecx
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 0x18]
mov dword [edx + 0x38], edi
sub ecx, eax
mov dword [edx + 0x24], edi
mov eax, ebx
pop edi
mov dword [edx + 0x20], ecx
pop esi
mov dword [edx + 0x30], ebx
pop ebx
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
pop edi
pop esi
mov dword [edx + 0x30], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcd
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffde
pop ebx
mov esp, ebp
pop ebp
ret