Function at 0x408cf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 8], eax
test edi, edi
je 0x4849f1
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x40], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x50]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x20], ecx
cmp eax, dword [ebx + 4]
jae 0x48d0a4
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48d09a
cmp dword [ebx + 0x9c], 2
je 0x484a22
lea esp, [esp]
movzx ecx, word [edi]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], edx
cmp esi, 0x9b
ja case.0x408d70.98
movzx eax, byte [esi + 0x409890]
jmp dword [eax*4 + 0x409748]
cmp esi, 0x82
jae 0x48af4d
cmp esi, 0x7b
je 0x48af4d
cmp dword [ebx + 0x70], 0
jne 0x409674
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
je 0x409674
movzx eax, word [edi]
movzx eax, byte [eax + 0x49f530]
lea edi, [edi + eax*2]
mov dword [ebp - 0x38], edi
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x408d30
jmp 0x48d0a4
movzx eax, word [edi + 2]
add eax, eax
mov esi, edi
sub esi, eax
mov ecx, 0x82
movzx eax, word [esi]
mov dword [ebp - 0x18], esi
cmp ax, cx
jae 0x4856fe
cmp eax, 0x7b
je 0x4856fe
xor ecx, ecx
mov dword [ebp - 0x10], ecx
cmp eax, 0x7a
jbe 0x48570e
cmp eax, 0x7f
je 0x409213
cmp eax, 0x7c
je 0x485717
mov edx, 0x84
cmp ax, dx
je 0x409213
mov edx, 0x80
cmp ax, dx
je 0x409213
mov edx, 0x85
cmp ax, dx
je 0x409213
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x72
jne 0x48579d
cmp word [esi], 0x7b
je 0x48b0d0
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48d040
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48d086
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [edi + 0x22]
lea eax, [edi + 2]
add edi, 0x22
mov dword [ebp - 0x1c], eax
mov eax, ecx
mov dword [ebp - 0x38], edi
cmp eax, 0x69
jle 0x4095ce
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 1
mov eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4868a6
mov dword [ebp - 0x28], 1
cmp eax, 1
jl 0x40962a
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
cmp eax, 0xd800
je 0x486870
cmp ecx, 0xff
ja 0x486898
mov ebx, dword [ebp - 0x1c]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x30]
shr ecx, 3
test byte [ecx + ebx], al
mov ebx, dword [ebp + 0x10]
jne 0x409051
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], esi
cmp eax, esi
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x408f7e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x48662e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x408fa0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d2]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0x409039
mov edi, dword [ebp - 0x20]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x408fdf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x486653
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x409001
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x30]
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49f454], eax
jne 0x409116
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
jne 0x486677
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x34]
jle 0x408ef0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x34], ebx
mov ebx, dword [ebp + 0x10]
je 0x408d50
test edx, edx
jne 0x48b23a
mov dword [ebp - 0x40], eax
test ecx, ecx
je 0x48b47e
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x34], ecx
jge 0x4090eb
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x48b402
movzx ecx, word [eax]
mov edx, dword [ebp - 8]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x10], ecx
cmp eax, 0xd800
je 0x48b3cb
cmp ecx, 0xff
ja 0x48b3f4
shr dword [ebp - 0x10], 3
mov ebx, dword [ebp - 0x10]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
jne 0x4096eb
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
jmp 0x48b434
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x30], ecx
cmp ebx, esi
jb 0x408fc1
jmp 0x40902d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
cmp dword [ebp - 0x20], edx
je 0x486b9f
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x486aef
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x486b13
cmp ecx, 0xff
ja 0x409180
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + esi]
cmp eax, ecx
jne case.0x408d70.151
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x4091d0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
je 0x486106
cmp ecx, 0xe
jb 0x4091e1
cmp ecx, 0x85
jb case.0x408d70.151
cmp ecx, 0xd
ja 0x486177
jne 0x48612b
cmp eax, edx
jae 0x486145
cmp word [eax], 0xa
jne 0x409046
add eax, 2
add edi, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x38], edi
jmp 0x408d50
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xc], ecx
lea edx, [ecx + ecx]
test eax, eax
jne 0x485737
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jge 0x48575c
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jg 0x48576f
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, dword [ebp - 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + 0xc], edx
jg 0x408e45
add edx, 2
mov dword [ebp + 0xc], edx
jmp 0x408e48
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x30], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x4092b6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x48644a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4092dc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx ecx, word [edi + 2]
cmp ecx, 9
jne 0x486472
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4af670]
lea eax, [eax*4 + 0x4af670]
cmp edx, ecx
jb 0x486620
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x409322
mov ecx, dword [eax]
cmp edx, ecx
jae 0x409310
jmp 0x486620
cmp esi, 0x10
jne case.0x408d70.151
add edi, 6
mov dword [ebp - 0x38], edi
jmp 0x408d50
cmp dword [ebp - 0x20], edx
je 0x486ac0
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
mov esi, 1
mov dword [ebp - 0x38], edi
cmp ax, cx
je 0x409735
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x48b6a4
test esi, esi
jle 0x408d50
mov edi, edi
mov cx, word [edi]
mov ax, word [edx]
add edx, 2
add edi, 2
dec esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x38], edi
cmp cx, ax
jne case.0x408d70.151
test esi, esi
jle 0x408d50
jmp 0x409380
movzx edx, word [edi + 4]
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
cmp eax, dword [ebx + 0x14]
jge case.0x408d70.123
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp esi, 0x82
jae 0x48cd3d
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x48cd94
cmp edx, 0xfffffc20
je 0x48cd4c
test edx, edx
je 0x48cd71
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi - 0x55]
add edi, 2
test cl, 1
je 0x40973f
mov eax, 1
movsx esi, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x409487
mov dword [ebp - 0x1c], bind
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], edi
cmp ecx, 0x10
je 0x487a62
cmp ecx, 0xf
je 0x487a59
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
test esi, esi
jg 0x487a81
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
je 0x408d50
test eax, eax
mov eax, dword [ebp - 0x30]
je 0x48935c
test eax, eax
jns 0x48bab1
mov eax, dword [ebp + 0x18]
inc eax
cmp dword [ebp - 0x34], 0x16
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
je 0x48c4a8
test ecx, ecx
mov ecx, esi
je 0x48c9a0
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x408d70.151
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b572
cmp dword [ebp - 0x34], 0xc
jne 0x409557
cmp dword [ebx + 0x18], 0
je 0x48c651
push dword [ebp - 0x20]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne case.0x408d70.151
mov ecx, dword [ebp - 0x14]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48c68a
mov eax, dword [ebp - 0x34]
cmp eax, 0xc
jne 0x48c6ab
cmp dword [ebx + 0x8c], 0
jne 0x48c95e
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
jmp 0x409510
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
jmp 0x48b22f
cmp dword [ebx + 0x8c], edx
jmp 0x4095bb
sub eax, 0x62
cmp eax, 7
ja case.default.0x4095e1
movzx eax, byte [eax + 0x409934]
jmp dword [eax*4 + 0x40992c]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x38], edi
test cl, 1
jne 0x40972b
xor eax, eax
mov dword [ebp - 0x2c], eax
movsx eax, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x408ecb
mov dword [ebp - 0x18], bind
jmp 0x408ecb
mov eax, dword [ebp - 8]
jmp 0x40906a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je case.0x408d70.113
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
jmp 0x48540a
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x48af5c
test edx, edx
jne 0x48cdc0
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
jne case.0x408d70.151
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x94], eax
jmp case.0x408d70.123
mov eax, dword [ebp - 0xc]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x18]
jge 0x4090eb
mov eax, edx
jmp 0x409094
mov dword [ebp - 0x10], edx
jmp 0x48549e
add edi, 2
jmp 0x485463
mov eax, dword [ebp - 8]
jmp 0x485830
mov esi, dword [ebp - 0x20]
jmp 0x485e45
mov eax, 1
jmp 0x4095fc
mov esi, 2
jmp 0x409364
xor eax, eax
jmp 0x409465
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x484a13
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00408cf0
add esp, 0x14
jmp 0x408e97
sub ecx, eax
test ecx, ecx
jle 0x484a1b
neg ecx
mov eax, ecx
jmp 0x408e97
mov eax, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
mov dword [ebp + 0x14], eax
mov dword [ebx + 0x9c], 0
jmp 0x408d50
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x48af88
movzx eax, word [edi]
movzx ecx, byte [eax + 0x49f530]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00408cf0
add esp, 0x14
cmp eax, 1
je 0x484af1
cmp eax, 0xfffffc20
jne 0x484ace
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x408e97
cmp word [edi], 0x71
je 0x484ad6
cmp word [ecx], 0x71
jne 0x408e97
jmp 0x484ad6
test eax, eax
jne 0x408e97
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
je 0x484a82
mov ecx, dword [ebp + 8]
jmp 0x484afa
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
cmp eax, 0x7c
je 0x484b0b
cmp eax, 0x71
jne case.0x408d70.151
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x484b0b
cmp word [edi], 0x72
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x4872dc
cmp eax, dword [ebp - 0x28]
jne 0x48add7
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
cmp word [edi + 4], 0x70
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
jne 0x484c1f
mov ecx, dword [0x4c44ec]
test ecx, ecx
je 0x484c16
mov dword [ebp - 0xa0], 2
movzx eax, word [edi + 6]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [edi + 8]
mov dword [ebp - 0x78], eax
movzx eax, word [edi + 0xa]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [ebx + 0x94]
or edx, 0xffffffff
test eax, eax
cmove eax, edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0xa0]
push eax
call ecx
add esp, 4
test eax, eax
jg case.0x408d70.151
js 0x408e97
mov eax, dword [ebp - 0x10]
add edi, 8
sub eax, 4
mov dword [ebp - 0x10], eax
movzx ecx, word [edi + 4]
lea edx, [edi + 4]
cmp ecx, 0x89
je 0x484dd2
cmp ecx, 0x8a
je 0x484dd2
cmp ecx, 0x87
je 0x484ca8
cmp ecx, 0x88
je 0x484ca8
cmp ecx, 0x8b
jne 0x484c62
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
jmp 0x484f09
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
cmp eax, 1
je 0x48ae21
test eax, eax
je 0x484c9d
cmp eax, 0xfffffc20
jne 0x408e97
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
jmp 0x484f09
movzx edx, word [edi + 6]
add edx, edx
cmp edx, dword [ebp + 0xc]
jge 0x484cc0
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jge 0x484ef4
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, 0x88
jne 0x484eee
mov ecx, dword [ebx + 0x30]
sar edx, 1
mov dword [ebp - 0xc], edx
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], edx
cmp dword [ebx + 0x20], eax
jle 0x484d03
movzx eax, word [ecx]
cmp eax, dword [ebp - 0xc]
je 0x484cfa
mov eax, dword [ebx + 0x24]
inc edx
lea ecx, [ecx + eax*2]
cmp edx, dword [ebx + 0x20]
jl 0x484ce6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [ebx + 0x20]
jge 0x484eee
mov dword [ebp - 0x38], ecx
cmp ecx, dword [ebx + 0x30]
jbe 0x484d6b
mov eax, dword [ebx + 0x24]
add eax, eax
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
sub ecx, eax
mov dword [ebp - 0x38], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.00472608
test eax, eax
jne 0x484d62
mov ecx, dword [ebp - 0x38]
movzx edx, word [ecx]
add edx, edx
cmp edx, dword [ebp + 0xc]
jge 0x484d53
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jge 0x484ef4
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x30]
jbe 0x484d65
mov eax, dword [ebp - 0x30]
jmp 0x484d25
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484eee
mov eax, dword [ebx + 0x24]
add eax, eax
lea edx, [ecx + 2]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xc], edx
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.00472608
test eax, eax
jne 0x484eeb
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx]
add edx, edx
cmp edx, dword [ebp + 0xc]
jge 0x484db8
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jge 0x484ef4
mov edx, dword [ebp - 0x10]
inc edx
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484eee
mov eax, dword [ebp - 0x30]
jmp 0x484d86
mov edx, dword [ebx + 0xa8]
test edx, edx
jne 0x484de8
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
jmp 0x484f09
movzx eax, word [edi + 6]
mov dword [ebp - 0xc], eax
cmp eax, 0xffff
je 0x484ef4
mov edx, dword [edx + 4]
mov dword [ebp - 0x30], edx
cmp eax, edx
je 0x484ef4
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, 0x8a
jne 0x484eee
mov ecx, dword [ebx + 0x30]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], edx
cmp dword [ebx + 0x20], eax
jle 0x484e46
movzx eax, word [ecx]
cmp eax, dword [ebp - 0xc]
je 0x484e3d
mov eax, dword [ebx + 0x24]
inc edx
lea ecx, [ecx + eax*2]
cmp edx, dword [ebx + 0x20]
jl 0x484e29
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [ebx + 0x20]
jge 0x484eee
mov dword [ebp - 0x38], ecx
cmp ecx, dword [ebx + 0x30]
jbe 0x484e9f
mov eax, dword [ebx + 0x24]
add eax, eax
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
sub ecx, eax
mov dword [ebp - 0x38], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.00472608
test eax, eax
jne 0x484e96
mov ecx, dword [ebp - 0x38]
movzx eax, word [ecx]
cmp eax, dword [ebp - 0x30]
je 0x484ef4
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x30]
jbe 0x484e99
mov eax, dword [ebp - 0x28]
jmp 0x484e68
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484eee
mov eax, dword [ebx + 0x24]
add eax, eax
lea edx, [ecx + 2]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], edx
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.00472608
test eax, eax
jne 0x484eeb
mov ecx, dword [ebp - 0x34]
movzx eax, word [ecx]
cmp eax, dword [ebp - 0x30]
je 0x484ef4
mov edx, dword [ebp - 0x10]
inc edx
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484eee
mov eax, dword [ebp - 0x28]
jmp 0x484eb6
mov eax, dword [ebp - 0x18]
movzx ecx, word [edi + 2]
jmp 0x484efe
mov ecx, 2
mov eax, 1
lea edi, [edi + ecx*2]
test eax, eax
jne 0x48ae52
cmp word [edi], 0x71
je 0x48ae52
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
movzx esi, word [edi + 2]
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, esi
lea edx, [esi + esi]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x484f53
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [ebp + 0xc], edx
jg 0x484f7b
lea eax, [edx + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x484fa5
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x484fa7
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
lea edx, [edi + 4]
push dword [ebp + 8]
call fcn.00408cf0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x485020
cmp ecx, 0xfffffc19
je 0x485020
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x485008
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x484a1b
cmp word [edi], 0x71
je 0x485010
cmp word [eax], 0x71
jne 0x484a1b
jmp 0x485010
test ecx, ecx
jne 0x484a1b
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x484fa7
jmp 0x485029
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x72
je case.0x408d70.151
test esi, esi
jne 0x408e92
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48503b
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x38], edi
mov dword [ebp + 0xc], eax
jmp 0x408d50
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x48507c
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x48507e
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
lea edx, [edi + 4]
push dword [ebp + 8]
call fcn.00408cf0
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x4850da
jne 0x4850ef
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x48510a
cmp word [edi], 0x71
je 0x4850ca
cmp word [eax], 0x71
jne 0x48510a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48507e
jmp 0x485118
mov eax, ecx
sub eax, 0
je 0x4850ca
dec eax
je case.0x408d70.151
mov eax, ecx
jmp 0x408e97
cmp ecx, 0xfffffc19
je case.0x408d70.151
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x484a1b
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48510a
test esi, esi
jne 0x408e92
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
cmp dword [ebp - 0x20], edx
je 0x48516f
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x485189
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0x408d70.151
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x485169
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x485138
jmp 0x48518c
movzx eax, word [edi + 2]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [ebx + 0x78]
jb case.0x408d70.151
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x48519a
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov ecx, dword [0x4c44ec]
test ecx, ecx
je 0x48526c
mov dword [ebp - 0xd4], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0xac], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [ebx + 0x94]
or edx, 0xffffffff
test eax, eax
cmove eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xd4]
push eax
call ecx
add esp, 4
test eax, eax
jg case.0x408d70.151
js 0x408e97
add edi, 8
mov dword [ebp - 0x38], edi
jmp 0x408d50
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x485289
xor edx, edx
jmp 0x48528d
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x4852b4
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x4852ae
cmp eax, dword [ecx + 0x14]
jne 0x4852ae
mov eax, 0xffffffe6
jmp 0x408e97
mov ecx, dword [ecx]
test ecx, ecx
jne 0x48529a
mov dword [ebp - 0x54], edx
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebx + 0x10]
add edi, 4
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1e
jg 0x4852f4
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
jmp 0x485313
lea eax, [ecx*4]
push eax
call dword [0x4bcddc]
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x48b046
mov ecx, dword [ebp - 0x4c]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.00420580
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
test eax, eax
je 0x48533f
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [esi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
mov ecx, dword [ebp - 0x4c]
add esp, 0x14
shl ecx, 2
push ecx
push dword [ebp - 0x50]
mov dword [ebp - 0xc], eax
push dword [ebx + 0xc]
call fcn.00420580
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp eax, 1
je 0x4853dc
cmp eax, 0xfffffc19
je 0x4853dc
cmp eax, 0xfffffc1c
jl 0x4853b1
cmp eax, 0xfffffc20
jle case.0x408d70.151
test eax, eax
jne 0x48b023
lea eax, [ebp - 0x58]
mov dword [ebx + 0xa8], eax
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
jne 0x48affa
mov eax, dword [ebp - 0x30]
jmp 0x485331
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x4853f3
push eax
call dword [0x4bc80c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x408d50
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48540a
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
add edi, 2
mov dword [ebp - 0x38], edi
mov edx, edi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x48542b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edx, 4
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x408d50
jmp 0x408e97
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x485463
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x10], 1
cmp esi, 0x80
je 0x48549e
cmp esi, 0x85
jne 0x48560d
movzx edx, word [edi + 4]
mov dword [ebp - 0x18], edx
lea eax, [edx + edx]
cmp eax, dword [ebx + 0x14]
jge case.0x408d70.126
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, edi
sub ecx, dword [ebx + 0x74]
shl eax, 2
sar ecx, 1
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x28], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 8]
sub edx, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp esi, 0x82
jb 0x485511
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x48556a
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
lea edi, [eax + ecx*2]
mov ecx, 1
mov dword [ebp - 0x34], ecx
jmp 0x4854e2
cmp ecx, 0xfffffc20
jne 0x485597
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x484a1b
cmp word [edi], 0x71
je 0x48559f
cmp word [eax], 0x71
jne 0x484a1b
jmp 0x48559f
test ecx, ecx
jne 0x484a1b
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4854eb
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4855e9
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x38]
mov dword [ecx + eax], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + eax + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x10], 0
jne 0x4872dc
test eax, eax
je case.0x408d70.151
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov dword [ebp - 0x10], 0
mov eax, edi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x30], 0
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x28], eax
cmp esi, 0x82
jb 0x485639
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x48568e
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x30], 1
lea edi, [eax + ecx*2]
jmp 0x485627
cmp ecx, 0xfffffc20
jne 0x4856bb
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x484a1b
cmp word [edi], 0x71
je 0x4856c3
cmp word [eax], 0x71
jne 0x484a1b
jmp 0x4856c3
test ecx, ecx
jne 0x484a1b
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
jne 0x4856df
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x94], eax
jmp 0x485627
cmp dword [ebp - 0x30], 0
jne 0x4872dc
cmp dword [ebp - 0x10], 0
je case.0x408d70.151
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x408dfd
cmp eax, 0x77
jb 0x408e09
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
jmp 0x408e92
cmp dword [eax + 4], ecx
jne 0x40922b
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0x408e97
mov ecx, dword [ebp - 0x10]
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x408e45
mov eax, dword [ebx + 0xc]
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x30], ecx
lea ecx, [eax + edx*4]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
jae 0x409252
mov edi, dword [ebp - 0x30]
sub ecx, eax
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
jmp 0x409252
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0x408e52
movzx ecx, word [edi]
cmp ecx, 0x75
je 0x48b0ba
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
cmp ecx, 0x74
jne 0x48ae69
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov edi, dword [ebp - 0x18]
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48b050
mov ecx, 0x82
cmp ax, cx
jb 0x408dbb
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
jmp 0x408e97
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x485830
cmp eax, dword [ebx + 0x78]
je case.0x408d70.151
cmp eax, dword [ebx + 0x78]
jne case.0x408d70.151
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x485855
cmp eax, dword [ebx + 0x78]
je case.0x408d70.151
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0x409046
cmp eax, dword [ebx + 0x7c]
je case.0x408d70.151
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x485898
cmp eax, ecx
jbe case.0x408d70.151
push dword [ebp - 0x20]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0047266d
add esp, 0xc
test eax, eax
je case.0x408d70.151
jmp 0x409046
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [ecx + edx]
cmp dword [ebp - 8], eax
jb case.0x408d70.151
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0x408d70.151
cmp esi, 1
je 0x409046
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0x408d70.151
jmp 0x409046
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x408d70.151
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x38], edi
jmp 0x408d50
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4859ce
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x485997
push dword [ebp - 0x20]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040786f
add esp, 0xc
test eax, eax
jne 0x409046
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0x408d70.151
cmp dword [ebx + 0x18], 0
jne case.0x408d70.151
cmp dword [ebx + 0x1c], 2
jne case.0x408d70.151
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0x408d70.151
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x408d70.151
mov eax, 0xfffffff4
jmp 0x408e97
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x48593c
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485939
cmp edx, 1
je 0x409046
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x485939
jmp 0x409046
cmp dword [ebx + 0x4c], edx
jne case.0x408d70.151
cmp dword [ebx + 0x8c], edx
jmp 0x4859e6
cmp dword [ebx + 0x8c], 0
je 0x409046
cmp eax, dword [ebx + 0x88]
jbe 0x409046
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x408d50
cmp dword [ebx + 0x4c], edx
jne case.0x408d70.151
cmp dword [ebx + 0x5c], edx
je case.0x408d70.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0x408d70.151
cmp dword [ebx + 0x8c], edx
jmp 0x4859e6
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4859df
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x485a61
push dword [ebp - 0x20]
push esi
push ecx
mov ecx, eax
call fcn.0040786f
add esp, 0xc
test eax, eax
jne 0x485a96
jmp 0x485939
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x48593c
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485939
cmp edx, 1
je 0x485a96
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x485939
mov ecx, dword [esi]
mov eax, dword [ebx + 0x7c]
add ecx, ecx
sub eax, ecx
cmp dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jne 0x48593c
jmp 0x4859df
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x20], edx
je 0x485c61
cmp eax, dword [ebx + 0x78]
je 0x485b99
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x485ae0
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x485aee
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485b19
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebx + 0x58], 0
je 0x485b7b
cmp ecx, 0x5f
jne 0x485b2c
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x485b9b
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x485b4e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x485b71
cmp eax, 3
jne 0x485b96
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485b9b
cmp ecx, 0x100
jae 0x485b96
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485b96
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485b9b
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x485c03
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485bce
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax + 2]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebx + 0x58], 0
je 0x485c4a
cmp ecx, 0x5f
je 0x485d8a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
js 0x485d36
jmp 0x485d3b
cmp dword [ebx + 0x8c], 0
je 0x485c28
cmp eax, dword [ebx + 0x88]
jbe 0x485c28
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x38], edi
cmp ax, 5
jne 0x485d94
cmp ecx, esi
jne 0x408d50
jmp case.0x408d70.151
cmp ecx, 0x100
jae 0x485c28
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x485d8a
jmp 0x485c28
cmp eax, dword [ebx + 0x78]
je 0x485d00
cmp eax, dword [ebx + 0x88]
ja 0x485c7e
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x485ce0
cmp ecx, 0x5f
jne 0x485c91
lea esi, [ecx - 0x5e]
jmp 0x485d02
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x485cb3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x485cd6
cmp eax, 3
jne 0x485cfd
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485d02
mov edx, 0xff
cmp cx, dx
ja 0x485d00
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485cfd
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485d02
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x485c03
cmp dword [ebx + 0x58], 0
je 0x485d6a
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x485d8a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x485d3b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x485d8a
cmp eax, 3
jne 0x485c28
lea ecx, [eax - 2]
jmp 0x485c2a
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x485c28
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485c28
mov ecx, 1
jmp 0x485c2a
cmp ecx, esi
je 0x408d50
jmp case.0x408d70.151
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x485dd0
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
cmp eax, ecx
jae 0x485e08
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040786f
add esp, 0xc
test eax, eax
jne case.0x408d70.151
jmp 0x485e05
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x485e02
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485e02
cmp edx, 1
je case.0x408d70.151
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0x408d70.151
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x485e48
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x485e48
cmp dword [ebx + 0x18], 0
jne 0x485e48
cmp dword [ebx + 0x1c], 2
jne 0x485e48
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485e45
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0x4095b4
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0x409046
cmp eax, ecx
jae 0x409046
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x409046
add dword [ebp - 8], 2
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
add eax, 2
mov dword [ebp - 8], eax
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485eea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485eea
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x409046
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485f50
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485f50
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485fb6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485fb6
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x409046
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x48601c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48601c
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x486082
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486082
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x409046
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x4860e8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4860e8
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x408d70.151
jmp 0x409046
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
jmp 0x4091d0
cmp ecx, 0xa
je 0x409046
jbe case.0x408d70.151
cmp ecx, 0xc
ja case.0x408d70.151
jmp 0x48618e
cmp dword [ebx + 0x8c], 0
je 0x409046
cmp eax, dword [ebx + 0x88]
jbe 0x409046
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
jmp 0x409046
cmp ecx, 0x85
je 0x48618e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x408d70.151
cmp dword [ebx + 0x6c], 0
jne case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x4861e5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4861e5
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x486229
je case.0x408d70.151
cmp ecx, 0xa0
ja 0x486218
je case.0x408d70.151
cmp ecx, 9
je case.0x408d70.151
cmp ecx, 0x20
je case.0x408d70.151
jmp 0x409046
cmp ecx, 0x1680
je case.0x408d70.151
jmp 0x409046
cmp ecx, 0x205f
ja 0x486260
je case.0x408d70.151
cmp ecx, 0x2000
jb 0x409046
cmp ecx, 0x200a
jbe case.0x408d70.151
cmp ecx, 0x202f
je case.0x408d70.151
jmp 0x409046
cmp ecx, 0x3000
je case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x4862b9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4862b9
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x4862fd
je 0x409046
cmp ecx, 0xa0
ja 0x4862ec
je 0x409046
cmp ecx, 9
je 0x409046
cmp ecx, 0x20
jne case.0x408d70.151
jmp 0x409046
cmp ecx, 0x1680
jne case.0x408d70.151
jmp 0x409046
cmp ecx, 0x205f
ja 0x486334
je 0x409046
cmp ecx, 0x2000
jb case.0x408d70.151
cmp ecx, 0x200a
jbe 0x409046
cmp ecx, 0x202f
jne case.0x408d70.151
jmp 0x409046
cmp ecx, 0x3000
jne case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x48638d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48638d
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x4863b2
je case.0x408d70.151
cmp ecx, 0xa
jb 0x409046
cmp ecx, 0xd
jbe case.0x408d70.151
jmp 0x409046
cmp ecx, 0x2028
jb 0x409046
cmp ecx, 0x2029
jbe case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x486417
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486417
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x486436
je 0x409046
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x408d70.151
jmp 0x409046
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x408d70.151
jmp 0x409046
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ecx
jmp 0x4092b6
cmp ecx, 0xa
ja case.default.0x48647b
jmp dword [ecx*4 + 0x48d0b1]
cmp esi, 0xf
je case.0x408d70.151
jmp 0x40932b
mov al, byte [eax*8 + 0x4ac0d1]
cmp al, 9
je 0x4864a7
cmp al, 5
je 0x4864a7
cmp al, 8
je 0x4864a7
xor ecx, ecx
jmp 0x4864b0
mov ecx, 1
jmp 0x4864b0
xor ecx, ecx
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0x408d70.151
jmp 0x40932b
movzx ecx, byte [eax*8 + 0x4ac0d1]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x4b6cf0]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0x408d70.151
jmp 0x40932b
movzx eax, byte [eax*8 + 0x4ac0d1]
jmp 0x486504
movzx eax, byte [eax*8 + 0x4ac0d0]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0x408d70.151
jmp 0x40932b
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x4864a7
cmp eax, 3
je 0x4864a7
xor ecx, ecx
jmp 0x4864b0
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x4864a7
cmp edx, 9
je 0x4864a7
cmp edx, 0xa
jmp 0x486571
cmp edx, 0xb
je 0x4864a7
cmp edx, 0xc
je 0x4864a7
cmp edx, 0xd
jmp 0x486588
cmp edx, 0x5f
je 0x4864a7
jmp 0x4864ae
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x4864a7
cmp edx, 9
je 0x4864a7
cmp edx, 0xa
je 0x4864a7
jmp 0x48656e
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x4864a7
cmp eax, 3
je 0x4864a7
jmp 0x486585
cmp edx, 0x24
je 0x4864a7
cmp edx, 0x40
je 0x4864a7
cmp edx, 0x60
je 0x4864a7
cmp edx, 0xa0
jb 0x48660f
cmp edx, 0xd7ff
jbe 0x4864a7
cmp edx, 0xe000
jae 0x4864a7
jmp 0x4864ae
cmp esi, 0x10
je case.0x408d70.151
jmp 0x40932b
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
jmp 0x408f7e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0x408fdf
cmp eax, esi
jb 0x409046
jmp 0x4859ec
movzx ecx, word [edi + 2]
xor edx, edx
cmp esi, 0x6e
sete dl
add ecx, ecx
add edi, 4
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp + 0xc]
jge 0x4866b5
mov eax, dword [ebx + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4866b5
mov esi, dword [eax + ecx*4 + 4]
sub esi, dword [eax + ecx*4]
jmp 0x4866bf
mov esi, dword [ebx + 0x54]
neg esi
sbb esi, esi
neg esi
dec esi
movzx eax, word [edi]
add eax, 0xffffff9e
mov dword [ebp - 0x2c], esi
cmp eax, 7
ja case.default.0x4866d8
movzx eax, byte [eax + 0x48d0e5]
jmp dword [eax*4 + 0x48d0dd]
movzx eax, word [edi]
movsx edx, byte [eax + 0x49f4c6]
add eax, 0xffffff9e
movzx ecx, al
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x49f520]
add edi, 2
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x48673d
mov edx, bind
jmp 0x48673a
movzx edx, word [edi + 4]
movzx ecx, word [edi + 2]
xor eax, eax
cmp word [edi], 0x69
mov dword [ebp - 0x10], ecx
sete al
test edx, edx
mov dword [ebp - 0xc], eax
mov eax, bind
cmove edx, eax
add edi, 6
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], edx
test esi, esi
je 0x408d50
jns 0x48674f
test ecx, ecx
je 0x408d50
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], 1
cmp ecx, 1
jl 0x486794
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push ebx
push esi
mov edx, eax
call fcn.004723d2
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48b20c
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x30]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], edx
cmp edx, ecx
jle 0x48675e
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0x408d50
cmp dword [ebp - 0xc], 0
je 0x48b15d
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x10], eax
jge case.0x408d70.151
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push ebx
push dword [ebp - 0x2c]
mov edx, esi
call fcn.004723d2
add esp, 0xc
test eax, eax
js 0x48b137
inc dword [ebp - 0x10]
lea esi, [esi + eax*2]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x4867cc
jmp 0x408e97
push edx
mov edx, dword [ebp - 8]
push ebx
push esi
call fcn.004723d2
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48b20c
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x408d50
movzx ecx, word [edi + 4]
movzx eax, word [edi + 2]
xor edx, edx
cmp word [edi], 0x69
mov dword [ebp - 0xc], bind
sete dl
test ecx, ecx
cmove ecx, dword [ebp - 0xc]
add edi, 6
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x38], edi
jmp 0x408ec8
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ecx
jmp 0x408f19
cmp esi, 0x6a
je case.0x408d70.151
jmp 0x409051
cmp eax, 1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
jl 0x40906a
mov ecx, dword [ebp - 0x34]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x10], ebx
cmp ebx, 0xff
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jbe 0x4868e7
cmp esi, 0x6a
je case.0x408d70.151
jmp 0x486910
mov ecx, dword [ebp - 0x10]
shr dword [ebp - 0x10], 3
mov ebx, dword [ebp - 0x10]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x408d70.151
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jle 0x4868bc
jmp 0x409067
lea eax, [edi + 4]
mov dword [ebp - 0x28], eax
movzx eax, word [edi + 2]
movzx edx, word [edi + eax*2]
lea edi, [edi + eax*2]
mov ecx, edx
mov dword [ebp - 0x38], edi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x486942
movzx eax, byte [eax + 0x48d0f5]
jmp dword [eax*4 + 0x48d0ed]
lea eax, [ecx - 0x62]
movzx ecx, al
movsx edx, byte [eax + 0x49f520]
movsx eax, byte [eax + 0x49f528]
add edi, 2
and ecx, 1
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x4869af
mov eax, bind
jmp 0x4869ac
movzx eax, word [edi + 4]
xor ecx, ecx
cmp edx, 0x69
movzx edx, word [edi + 2]
sete cl
test eax, eax
mov esi, bind
cmove eax, esi
add edi, 6
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], ecx
jmp 0x4869a9
mov ecx, dword [ebp - 0x2c]
mov eax, 1
mov edx, eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 1
cmp edx, 1
jl 0x486a2f
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx esi, word [eax]
mov ecx, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
je 0x486a05
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486a05
mov eax, dword [ebp - 8]
and esi, 0x3ff
movzx eax, word [eax]
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add dword [ebp - 8], 2
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, esi
call fcn.004727d9
add esp, 4
test eax, eax
je case.0x408d70.151
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, edx
jle 0x4869bb
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp edx, eax
je 0x408d50
mov esi, dword [ebp - 8]
test ecx, ecx
je 0x48b58a
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x18], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
mov ecx, dword [ebp - 0x20]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x48b52e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b52e
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x48b531
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x48b6c5
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0x408d70.151
add edi, 4
jmp 0x409049
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0x40915f
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
cmp eax, 0xd800
jne 0x486b4d
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ecx
lea edi, [edi + edx*2]
mov dword [ebp - 0x38], edi
cmp esi, ecx
je 0x408d50
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486b7e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, esi
cmp dword [ebp - 0x30], eax
je 0x408d50
jmp case.0x408d70.151
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x486bb9
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x486bbb
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x486bd2
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x408d70.151
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0x409049
movzx eax, word [edi + 2]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
add edi, 4
jmp 0x486cc2
mov edx, 1
mov dword [ebp - 0x24], edx
movzx eax, word [edi + 2]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], eax
cmp ecx, 0x28
je 0x486c27
cmp ecx, 0x35
je 0x486c27
xor eax, eax
add edi, 4
jmp 0x486cbf
mov eax, 1
add edi, 4
jmp 0x486cbf
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x486cc2
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x486cc2
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], edx
add edi, 2
jmp 0x486cc2
cmp esi, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
mov ecx, esi
sub ecx, eax
movzx eax, cl
movsx ebx, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov dword [ebp - 0x1c], ebx
add edi, 2
and eax, 1
mov ebx, bind
test ecx, ecx
cmove ecx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x486f32
movzx eax, word [edi]
mov dword [ebp - 0x18], eax
and eax, 0xfc00
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x28], edi
cmp eax, 0xd800
jne 0x486d15
mov ebx, dword [ebp - 0x18]
movzx eax, word [edi + 2]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, 2
mov dword [ebp - 0x10], eax
jmp 0x486d1a
mov eax, 1
lea edx, [eax + eax]
add edi, edx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x38], edi
cmp eax, 1
jle 0x486f43
cmp esi, 0x2e
jb 0x486d86
mov esi, dword [ebp - 0x18]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486d5c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov ecx, dword [eax*8 + 0x4ac0d4]
add ecx, esi
cmp ecx, esi
je 0x486d83
lea edx, [ebp - 0x6c]
call fcn.00472726
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
jmp 0x486d8d
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x18], 0
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x486e13
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x486dc7
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x28]
push ecx
call fcn.00420c63
add esp, 0xc
test eax, eax
jne 0x486dc4
mov eax, dword [ebp - 0x14]
jmp 0x486e02
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
test edx, edx
jle 0x48b6df
lea eax, [edx + edx]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x30]
cmp ecx, eax
ja 0x48b6df
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.00420c63
add esp, 0xc
test eax, eax
jne 0x48b6dc
mov eax, dword [ebp - 0x30]
add dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jle 0x486d9c
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
cmp esi, ecx
je 0x408d50
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x48b6fa
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
cmp esi, ecx
jge 0x486ecf
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x486e62
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x28]
push ecx
call fcn.00420c63
add esp, 0xc
test eax, eax
jne 0x486e5f
mov eax, dword [ebp - 0x14]
jmp 0x486e91
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
test edx, edx
jle 0x486e9c
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x486e9c
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.00420c63
add esp, 0xc
test eax, eax
jne 0x486e9c
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x34]
jl 0x486e37
jmp 0x486ec9
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x486ecc
cmp eax, dword [ebx + 0x7c]
jb 0x486ec9
cmp eax, dword [ebx + 0x88]
jbe 0x486ec9
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x408d50
cmp eax, dword [ebp - 0x30]
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x486f28
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x30]
jne 0x486ee3
jmp 0x408dbe
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x38], edi
jmp 0x486f46
mov eax, dword [ebp - 0x2c]
cmp esi, 0x2e
jb 0x4870ab
mov esi, dword [ebp - 0x18]
test ecx, ecx
je 0x486f9c
cmp esi, 0x7f
jbe 0x486f9c
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486f7e
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x24]
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
jmp 0x486fb1
cmp esi, 0xff
ja 0x486fae
mov eax, dword [ebx + 0x40]
movzx esi, byte [eax + esi]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x486ff4
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
cmp dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x24]
je 0x486fe6
movzx ebx, word [esi]
cmp dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jne case.0x408d70.151
inc dword [ebp - 0x10]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x10], ecx
jle 0x486fc3
cmp ecx, dword [ebp - 0x34]
je 0x408d50
test eax, eax
jne 0x48b7c2
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x10], esi
cmp ecx, dword [ebp - 0x34]
jge 0x487065
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x48703d
movzx edx, word [eax]
cmp esi, edx
mov edx, dword [ebp - 0x24]
je 0x48702f
movzx edx, word [eax]
cmp dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
jne 0x487062
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x34]
jl 0x487015
jmp 0x487062
cmp dword [ebx + 0x8c], 0
je 0x487062
cmp eax, dword [ebx + 0x88]
jbe 0x487062
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov esi, dword [ebp - 0x10]
test edx, edx
jne 0x408d50
cmp eax, esi
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
sub esi, 2
add esp, 0x14
mov dword [ebp - 8], esi
test eax, eax
jne 0x408e97
cmp esi, dword [ebp - 0x10]
jne 0x487078
jmp 0x408dbe
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0x4870bf
mov esi, dword [ebp - 8]
jmp 0x4870ee
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
jne case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, ecx
jle 0x4870bf
mov eax, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x34]
je 0x408d50
test eax, eax
jne 0x48b836
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x10], esi
cmp ecx, dword [ebp - 0x34]
jge 0x48712e
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x487174
movzx eax, word [eax]
cmp esi, eax
jne 0x487128
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc ecx
cmp ecx, dword [ebp - 0x34]
jl 0x48710f
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
test edx, edx
jne 0x408d50
cmp eax, esi
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
sub esi, 2
add esp, 0x14
mov dword [ebp - 8], esi
test eax, eax
jne 0x408e97
cmp esi, dword [ebp - 0x10]
jne 0x487141
jmp 0x408dbe
cmp dword [ebx + 0x8c], 0
je 0x48712b
cmp eax, dword [ebx + 0x88]
jbe 0x48712b
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
jmp 0x48712b
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095c6
cmp dword [ebp - 0x20], edx
je 0x4872ab
movzx edx, word [edi + 2]
mov eax, edx
add edi, 4
and eax, 0xfc00
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x38], edi
cmp eax, 0xd800
jne 0x4871ed
movzx eax, word [edi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add edi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 8]
add eax, 2
movzx ecx, word [eax - 2]
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
cmp eax, 0xd800
jne 0x48722e
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ecx
cmp esi, 0x1f
jne 0x487240
cmp edx, ecx
jne 0x408d50
jmp case.0x408d70.151
cmp edx, 0x7f
jbe 0x487283
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48726b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, edx
jmp 0x487296
cmp edx, 0xff
ja 0x487294
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x487296
mov eax, edx
cmp edx, ecx
je case.0x408d70.151
cmp eax, ecx
jne 0x408d50
jmp case.0x408d70.151
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x408d70.151
cmp esi, 0x20
jne 0x4872dc
cmp ecx, 0xff
ja 0x4872d4
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x408d70.151
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x408d50
movzx eax, word [edi + 2]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
add edi, 4
jmp 0x4873d6
movzx eax, word [edi + 2]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], eax
cmp ecx, 0x42
je 0x48731a
cmp ecx, 0x4f
je 0x48731a
xor eax, eax
add edi, 4
jmp 0x4873d3
mov eax, 1
add edi, 4
jmp 0x4873d3
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x4873d6
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x4873d6
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], edx
add edi, 2
jmp 0x4873d6
movzx eax, word [edi + 2]
mov edx, 1
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
add edi, 4
jmp 0x4873d6
cmp esi, 0x48
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
mov ecx, esi
sub ecx, eax
movzx eax, cl
movsx ebx, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov dword [ebp - 0x1c], ebx
add edi, 2
and eax, 1
mov ebx, bind
test ecx, ecx
cmove ecx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x20]
add edi, 2
mov dword [ebp - 0x38], edi
test ecx, ecx
je 0x48741f
mov eax, dword [ebp - 0x14]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48741c
movzx eax, word [edi]
and dword [ebp - 0x14], 0x3ff
shl dword [ebp - 0x14], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x14]
add eax, 0x10000
add edi, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x2c]
cmp esi, 0x48
jb 0x48772e
mov esi, dword [ebp - 0x14]
test ecx, ecx
je 0x487475
cmp esi, 0x7f
jbe 0x487475
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487457
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2c]
jmp 0x48748a
cmp esi, 0xff
ja 0x487487
mov eax, dword [ebx + 0x40]
movzx esi, byte [eax + esi]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], 1
test ecx, ecx
je 0x48758e
mov esi, dword [ebp - 0x1c]
cmp esi, 1
jl 0x48750e
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
mov dword [ebp - 0x18], edx
cmp eax, 0xd800
jne 0x4874eb
mov eax, dword [ebp - 8]
and dword [ebp - 0x18], 0x3ff
movzx eax, word [eax]
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x4874ee
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
je case.0x408d70.151
cmp dword [ebp - 0x10], eax
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jle 0x4874a1
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x24]
je 0x408d50
test eax, eax
jne 0x48b8a5
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x18], esi
test ecx, ecx
je 0x48768d
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp - 0x34]
jge 0x4875fb
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x48765e
movzx eax, word [eax]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4875d6
movzx eax, word [ecx + 2]
and dword [ebp - 0x2c], 0x3ff
shl dword [ebp - 0x2c], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x4875d9
cmp dword [ebp - 0x1c], 1
jl 0x48750e
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
cmp dword [ebp - 0x14], ecx
je case.0x408d70.151
movzx edx, word [esi]
cmp dword [ebp - 0x10], edx
je case.0x408d70.151
mov ecx, dword [ebp - 0xc]
inc ecx
add esi, 2
cmp ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
jle 0x48759b
jmp 0x487511
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x14], eax
je 0x4875f8
cmp dword [ebp - 0x10], eax
je 0x4875f8
mov eax, dword [ebp - 0xc]
inc esi
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
mov eax, ecx
cmp esi, dword [ebp - 0x34]
jl 0x487544
mov eax, dword [ebp - 8]
test edx, edx
jne 0x408d50
cmp eax, dword [ebp - 0x18]
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x487654
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x48760f
jmp 0x408dbe
cmp dword [ebx + 0x8c], 0
je 0x4875fb
cmp eax, dword [ebx + 0x88]
jbe 0x4875fb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x4875fb
mov eax, 0xfffffff4
jmp 0x408e97
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge 0x4876e8
mov esi, dword [ebp - 0x14]
cmp eax, dword [ebx + 0x7c]
jae 0x4876c0
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x4876e5
movzx edx, word [eax]
cmp dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x24]
je 0x4876e5
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x34]
jl 0x487698
jmp 0x4876e5
cmp dword [ebx + 0x8c], 0
je 0x4876e5
cmp eax, dword [ebx + 0x88]
jbe 0x4876e5
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov esi, dword [ebp - 0x18]
test edx, edx
jne 0x408d50
cmp eax, esi
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x4876fb
jmp 0x408dbe
mov dword [ebp - 0xc], 1
test ecx, ecx
je 0x48782c
mov esi, dword [ebp - 0x1c]
cmp esi, 1
jl 0x4877ac
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x20]
cmp eax, 0xd800
jne 0x487792
mov eax, dword [ebp - 8]
and dword [ebp - 0x10], 0x3ff
movzx eax, word [eax]
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x487795
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jle 0x487745
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x24]
je 0x408d50
test eax, eax
jne 0x48b9b4
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x18], esi
test ecx, ecx
je 0x48791d
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp - 0x34]
jge 0x48788b
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x4878ee
movzx eax, word [eax]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48786b
movzx eax, word [ecx + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x48786e
cmp dword [ebp - 0x1c], 1
jl 0x4877ac
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x14], eax
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x1c]
jle 0x487836
mov eax, dword [ebp - 0x2c]
jmp 0x4877af
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
je 0x487888
mov eax, dword [ebp - 0xc]
inc esi
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
mov eax, ecx
cmp esi, dword [ebp - 0x34]
jl 0x4877e2
mov eax, dword [ebp - 8]
test edx, edx
jne 0x408d50
cmp eax, dword [ebp - 0x18]
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x4878e4
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x48789f
jmp 0x408dbe
cmp dword [ebx + 0x8c], 0
je 0x48788b
cmp eax, dword [ebx + 0x88]
jbe 0x48788b
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48788b
mov eax, 0xfffffff4
jmp 0x408e97
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge 0x487947
mov esi, dword [ebp - 0x14]
cmp eax, dword [ebx + 0x7c]
jae 0x48798d
movzx eax, word [eax]
cmp esi, eax
je 0x487941
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc ecx
cmp ecx, dword [ebp - 0x34]
jl 0x487928
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x18]
test edx, edx
jne 0x408d50
cmp eax, esi
je 0x408dbe
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x48795a
jmp 0x408dbe
cmp dword [ebx + 0x8c], 0
je 0x487944
cmp eax, dword [ebx + 0x88]
jbe 0x487944
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
jmp 0x487944
movzx ecx, word [edi + 2]
mov esi, ecx
mov eax, 1
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2c], eax
add edi, 4
jmp 0x409487
movzx eax, word [edi + 2]
xor esi, esi
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp ecx, 0x5c
sete al
mov dword [ebp - 0x14], esi
add edi, 4
mov dword [ebp - 0x2c], eax
jmp 0x409487
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
add edi, 2
jmp 0x409480
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov esi, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
add edi, 2
jmp 0x409480
mov eax, dword [ebp - 0x2c]
mov edx, 1
xor esi, esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], edx
add edi, 2
jmp 0x409487
movzx ecx, word [edi + 2]
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], ecx
add edi, 4
jmp 0x409487
mov dword [ebp - 0x3c], 1
jmp 0x487a69
mov dword [ebp - 0x3c], 0
movzx ebx, word [edi + 2]
movzx ecx, word [edi]
add edi, 4
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x38], edi
jmp 0x4094a8
test ecx, ecx
js 0x4882f0
cmp ecx, 0xa
ja case.default.0x48647b
jmp dword [ecx*4 + 0x48d0fd]
cmp dword [ebp - 0x3c], 0
jne case.0x408d70.151
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x487ae8
and dword [ebp - 0x10], 0xfc00
cmp dword [ebp - 0x10], 0xd800
jne 0x487ae8
add esi, 2
mov dword [ebp - 8], esi
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x487ab9
jmp 0x4094b9
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], 1
cmp esi, 1
jl 0x4094b6
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x487b5c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487b5c
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0xc], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x487b81
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, 9
je 0x487ba6
cmp eax, 5
je 0x487ba6
cmp eax, 8
je 0x487ba6
xor eax, eax
jmp 0x487bab
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, esi
jle 0x487b0f
mov eax, dword [ebp - 0x2c]
jmp 0x4094b6
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4094b3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x487c24
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487c24
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x487c46
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487bdb
mov eax, dword [ebp - 0x2c]
jmp 0x4094b3
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4094b3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x487ce0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487ce0
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x487d02
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487c97
mov eax, dword [ebp - 0x2c]
jmp 0x4094b3
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4094b3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x487d95
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487d95
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x487db7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487d4c
mov eax, dword [ebp - 0x2c]
jmp 0x4094b3
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], 1
cmp esi, 1
jl 0x4094b6
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x487e51
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487e51
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0xc], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x487e76
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x487e9d
cmp eax, 3
je 0x487e9d
xor eax, eax
jmp 0x487ea2
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, esi
jle 0x487e04
mov eax, dword [ebp - 0x2c]
jmp 0x4094b6
mov dword [ebp - 0x28], 1
cmp esi, 1
jl 0x4094b3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
mov esi, eax
je 0x487f22
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487f22
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x487f48
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x487f7c
cmp edx, 9
je 0x487f7c
cmp edx, 0xa
je 0x487f7c
cmp edx, 0xc
je 0x487f7c
cmp edx, 0xd
je 0x487f7c
xor eax, eax
jmp 0x487f81
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x487ed2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x488d95
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
je 0x488003
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488003
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x488029
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x488062
cmp edx, 9
je 0x488062
cmp edx, 0xa
je 0x488062
cmp edx, 0xb
je 0x488062
cmp edx, 0xc
je 0x488062
cmp edx, 0xd
je 0x488062
xor eax, eax
jmp 0x488067
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x487fb8
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x488d95
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
je 0x4880e9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4880e9
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48810f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48813b
cmp eax, 3
je 0x48813b
cmp edx, 0x5f
je 0x48813b
xor eax, eax
jmp 0x488140
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x48809e
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x4881cb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4881c8
movzx eax, word [esi]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add esi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], esi
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x40]
lea ebx, [ebx*4 + 0x4af670]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x488201
mov edx, dword [ebp - 0xc]
add dword [ebp - 0x10], 4
cmp dword [ebp - 0x18], edx
je 0x48821f
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x20]
jae 0x4881e5
cmp dword [ebp - 0x3c], 0
je case.0x408d70.151
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x48817d
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
cmp dword [ebp - 0x3c], 0
jne case.0x408d70.151
jmp 0x48820b
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x488292
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48828f
movzx eax, word [esi]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add esi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], esi
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0x24
je 0x4882c6
cmp dword [ebp - 0x18], 0x40
je 0x4882c6
cmp dword [ebp - 0x18], 0x60
je 0x4882c6
cmp dword [ebp - 0x18], 0xa0
jb 0x4882b6
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x4882c6
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x4882cd
mov dword [ebp - 0xc], 1
mov ebx, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
je case.0x408d70.151
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488244
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
cmp dword [ebp - 0x34], 0x16
mov ecx, dword [ebp - 0x20]
jne 0x48848e
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
jl 0x4094b9
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x28], eax
cmp esi, eax
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x48835e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48835e
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x488383
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx edx, byte [eax*8 + 0x4ac0d2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48844d
mov ebx, dword [ebp - 0x20]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x4883e5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4883e5
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x488407
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f454], eax
je 0x48843e
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x28]
cmp esi, eax
jb 0x4883a8
jmp 0x488441
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x488476
cmp esi, eax
jb 0x488476
cmp esi, dword [ebx + 0x88]
jbe 0x488476
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x14]
jle 0x488310
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
test ecx, ecx
je 0x488cb0
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x48647b
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffffa
jmp dword [ecx*4 + 0x48d129]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b572
cmp dword [ebx + 0x18], 0
je 0x48858e
push ecx
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne case.0x408d70.151
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x48853e
cmp edx, dword [ebx + 0x7c]
jb 0x48853e
cmp dword [ebx + 0x18], 0
jne 0x48853e
cmp dword [ebx + 0x1c], 2
jne 0x48853e
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48853e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
cmp esi, dword [ebx + 0x7c]
jae 0x488576
mov ax, word [esi]
mov dword [ebp - 0x28], 0xfc00
and ax, word [ebp - 0x28]
mov dword [ebp - 0x28], 0xdc00
cmp ax, word [ebp - 0x28]
jne 0x488576
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4884d1
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x488504
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x488504
cmp dword [ebx + 0x1c], 1
je case.0x408d70.151
mov edx, dword [ebp - 0x10]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0x408d70.151
jmp 0x488507
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
add esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebx + 0x7c]
jae 0x48861d
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
jne 0x48861d
add esi, 2
mov dword [ebp - 8], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x4885e5
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x7c]
add esi, esi
sub eax, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
cmp esi, eax
ja case.0x408d70.151
add esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x4886b3
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x4886b6
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
ja 0x4886e3
je 0x4886d0
cmp eax, 0xa
je 0x488702
add eax, 0xfffffff5
cmp eax, 1
ja case.0x408d70.151
jmp 0x4886f8
cmp esi, dword [ebx + 0x7c]
jae 0x488702
cmp word [esi], 0xa
jne 0x488702
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488702
cmp eax, 0x85
je 0x4886f8
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408d70.151
cmp dword [ebx + 0x6c], 0
jne case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x48866f
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x488777
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x48877a
mov eax, dword [ebp - 0x10]
cmp eax, 0x180e
ja 0x4887b5
je case.0x408d70.151
cmp eax, 0xa0
ja 0x4887a8
je case.0x408d70.151
cmp eax, 9
je case.0x408d70.151
cmp eax, 0x20
je case.0x408d70.151
jmp 0x4887ec
cmp eax, 0x1680
je case.0x408d70.151
jmp 0x4887ec
cmp eax, 0x205f
ja 0x4887e1
je case.0x408d70.151
cmp eax, 0x2000
jb 0x4887ec
cmp eax, 0x200a
jbe case.0x408d70.151
cmp eax, 0x202f
je case.0x408d70.151
jmp 0x4887ec
cmp eax, 0x3000
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488733
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x488861
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488864
mov eax, dword [ebp - 0x10]
cmp eax, 0x180e
ja 0x488893
je 0x4888c6
cmp eax, 0xa0
ja 0x488886
je 0x4888c6
cmp eax, 9
je 0x4888c6
cmp eax, 0x20
jne case.0x408d70.151
jmp 0x4888c6
cmp eax, 0x1680
jne case.0x408d70.151
jmp 0x4888c6
cmp eax, 0x205f
ja 0x4888bb
je 0x4888c6
cmp eax, 0x2000
jb case.0x408d70.151
cmp eax, 0x200a
jbe 0x4888c6
cmp eax, 0x202f
jne case.0x408d70.151
jmp 0x4888c6
cmp eax, 0x3000
jne case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x48881d
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x48893b
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x48893e
mov eax, dword [ebp - 0x10]
cmp eax, 0x85
ja 0x48895b
je case.0x408d70.151
cmp eax, 0xa
jb 0x48896d
cmp eax, 0xd
jbe case.0x408d70.151
jmp 0x48896d
cmp eax, 0x2028
jb 0x48896d
cmp eax, 0x2029
jbe case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4888f7
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x4889e2
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x4889e5
mov eax, dword [ebp - 0x10]
cmp eax, 0x85
ja 0x4889fc
je 0x488a0a
add eax, 0xfffffff6
cmp eax, 3
ja case.0x408d70.151
jmp 0x488a0a
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x48899e
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x488a81
movzx eax, word [esi]
mov ecx, dword [ebp - 0x10]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
mov ecx, dword [ebp - 0x20]
add eax, 0x10000
add esi, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], esi
jmp 0x488a84
mov eax, dword [ebp - 0x10]
cmp eax, 0x80
jae 0x488a9b
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x10]
test byte [edx + eax], 4
jne case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488a37
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
cmp word [esi], 0x80
jae case.0x408d70.151
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488ac8
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
cmp word [esi], 0x80
jae 0x488b45
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x408d70.151
mov eax, dword [ebp - 0x14]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebx + 0x7c]
jae 0x488b74
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
jne 0x488b74
add esi, 2
mov dword [ebp - 8], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488b22
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
cmp word [esi], 0x80
jae case.0x408d70.151
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488b9d
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
cmp word [esi], 0x80
jae 0x488c1a
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x408d70.151
mov eax, dword [ebp - 0x14]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebx + 0x7c]
jae 0x488c49
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
jne 0x488c49
add esi, 2
mov dword [ebp - 8], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488bf7
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
cmp word [esi], 0x80
jae case.0x408d70.151
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488c72
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov edx, dword [ebp - 0x34]
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x48647b
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffffa
jmp dword [ecx*4 + 0x48d169]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x48b572
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x488d15
lea eax, [ebx + 0x1c]
push 0
push eax
push ecx
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne case.0x408d70.151
lea edx, [ebx + 0x1c]
jmp 0x488d43
mov eax, dword [ebx + 0x1c]
lea edx, [ebx + 0x1c]
add eax, eax
sub ecx, eax
cmp esi, ecx
ja 0x488d43
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x488d43
cmp dword [edx], 1
je case.0x408d70.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x408d70.151
cmp dword [ebx + 0x8c], 0
je 0x488d7c
lea eax, [esi + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x488d7c
cmp dword [ebx + 0x18], 0
jne 0x488d7c
cmp dword [edx], 2
jne 0x488d7c
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x488d7c
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488ce5
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x7c]
add esi, esi
sub eax, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
cmp esi, eax
ja 0x48b572
add esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x7c]
add esi, esi
sub eax, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
cmp esi, eax
ja 0x48b572
add esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x10], ecx
cmp ecx, 0xd
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
jg 0x488e58
cmp dword [ebp - 0x10], 0xd
je 0x488e45
cmp dword [ebp - 0x10], 0xa
je 0x488e7f
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x408d70.151
jmp 0x488e72
cmp esi, dword [ebx + 0x7c]
jae 0x488e7f
cmp word [esi], 0xa
jne 0x488e7f
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488e7f
cmp dword [ebp - 0x10], 0x85
je 0x488e75
mov eax, dword [ebp - 0x10]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408d70.151
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 0x6c], 0
jne case.0x408d70.151
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488e0b
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
cmp edx, 0x180e
jg 0x488f02
cmp edx, 0x180e
je case.0x408d70.151
cmp edx, 0xa0
jg 0x488ef3
je case.0x408d70.151
cmp edx, 9
je case.0x408d70.151
cmp edx, 0x20
je case.0x408d70.151
jmp 0x488f43
cmp dword [ebp - 0x18], 0x1680
je case.0x408d70.151
jmp 0x488f43
cmp dword [ebp - 0x18], 0x205f
jg 0x488f36
je case.0x408d70.151
cmp dword [ebp - 0x18], 0x2000
jl 0x488f43
cmp dword [ebp - 0x18], 0x200a
jle case.0x408d70.151
cmp dword [ebp - 0x18], 0x202f
je case.0x408d70.151
jmp 0x488f43
cmp dword [ebp - 0x18], 0x3000
je case.0x408d70.151
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x488ea8
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
cmp edx, 0x180e
jg 0x488fc2
cmp edx, 0x180e
je 0x488fff
cmp edx, 0xa0
jg 0x488fb3
je 0x488fff
cmp edx, 9
je 0x488fff
cmp edx, 0x20
jne case.0x408d70.151
jmp 0x488fff
cmp dword [ebp - 0x18], 0x1680
jne case.0x408d70.151
jmp 0x488fff
cmp dword [ebp - 0x18], 0x205f
jg 0x488ff2
je 0x488fff
cmp dword [ebp - 0x18], 0x2000
jl case.0x408d70.151
cmp dword [ebp - 0x18], 0x200a
jle 0x488fff
cmp dword [ebp - 0x18], 0x202f
jne case.0x408d70.151
jmp 0x488fff
cmp dword [ebp - 0x18], 0x3000
jne case.0x408d70.151
mov ecx, dword [ebp - 0xc]
inc ecx
cmp ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x20]
jle 0x488f74
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], esi
cmp edx, 0x85
jg 0x489069
cmp edx, 0x85
je case.0x408d70.151
cmp edx, 0xa
jl 0x48907f
cmp edx, 0xd
jle case.0x408d70.151
jmp 0x48907f
cmp dword [ebp - 0x10], 0x2028
jl 0x48907f
cmp dword [ebp - 0x10], 0x2029
jle case.0x408d70.151
mov edx, dword [ebp - 0xc]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x14]
jle 0x489030
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x28], ecx
cmp ecx, 0x85
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
jg 0x4890e6
cmp dword [ebp - 0x28], 0x85
je 0x4890fa
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff6
cmp eax, 3
ja case.0x408d70.151
jmp 0x4890f7
mov eax, dword [ebp - 0x28]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408d70.151
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x4890ac
mov eax, dword [ebp - 0x2c]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp dx, word [ebp - 0xc]
ja 0x489158
movzx ecx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x408d70.151
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jle 0x489129
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja case.0x408d70.151
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x48918a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp dx, word [ebp - 0xc]
ja 0x48921e
movzx ecx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x408d70.151
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jle 0x4891ef
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4094b9
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja case.0x408d70.151
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x489250
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4094b9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp dx, word [ebp - 0xc]
ja 0x4892e4
movzx ecx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x408d70.151
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jle 0x4892b5
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4094b6
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja case.0x408d70.151
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x408d70.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x489316
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4094b9
mov dword [ebp - 0x2c], esi
test eax, eax
js 0x489cd9
cmp eax, 0xa
ja case.default.0x48647b
jmp dword [eax*4 + 0x48d1a9]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x4894e6
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4893e7
test ecx, ecx
je 0x4893c0
mov edx, dword [ebp - 0x10]
mov eax, 0xfc00
and ax, word [esi]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0xd800
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, 2
cmove eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0x24]
jne 0x4894e6
mov ebx, dword [ebp - 0x10]
inc eax
lea esi, [esi + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489383
jmp 0x4894e6
cmp dword [ebx + 0x8c], 0
je 0x4894e6
cmp esi, dword [ebx + 0x88]
jbe 0x4894e6
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x4894e6
mov eax, 0xfffffff4
jmp 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489476
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489476
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48949b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, 9
je 0x4894c0
cmp eax, 5
je 0x4894c0
cmp eax, 8
je 0x4894c0
xor eax, eax
jmp 0x4894c5
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0x30]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48942a
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x408d50
cmp esi, dword [ebp - 0x2c]
je 0x408dbe
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
sub esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x20], eax
je 0x489540
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x489540
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x2c]
jne 0x4894f7
jmp 0x408dbe
cmp dword [ebx + 0x8c], 0
je 0x4894e3
cmp esi, dword [ebx + 0x88]
jbe 0x4894e3
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x4894e3
mov eax, 0xfffffff4
jmp 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx eax, word [esi]
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x4895cc
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4895cf
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
jmp 0x4895cf
movzx ecx, word [esi]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x4895f1
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489585
jmp 0x4894e3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx eax, word [esi]
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x489693
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489696
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
jmp 0x489696
movzx ecx, word [esi]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x4896b8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489648
jmp 0x4894e3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx eax, word [esi]
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x489753
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489756
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
jmp 0x489756
movzx ecx, word [esi]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x489778
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489708
jmp 0x4894e3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489814
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489814
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x489839
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x489860
cmp eax, 3
je 0x489860
xor eax, eax
jmp 0x489865
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0x30]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4897c8
jmp 0x4894e3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x4898e4
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4898e4
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48990a
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48993e
cmp edx, 9
je 0x48993e
cmp edx, 0xa
je 0x48993e
cmp edx, 0xc
je 0x48993e
cmp edx, 0xd
je 0x48993e
xor eax, eax
jmp 0x489943
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489898
jmp 0x4894e3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x4899c5
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4899c5
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4899eb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x489a24
cmp edx, 9
je 0x489a24
cmp edx, 0xa
je 0x489a24
cmp edx, 0xb
je 0x489a24
cmp edx, 0xc
je 0x489a24
cmp edx, 0xd
je 0x489a24
xor eax, eax
jmp 0x489a29
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489979
jmp 0x4894e3
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x4894e6
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48954a
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489aab
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489aab
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x489ad1
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x489afd
cmp eax, 3
je 0x489afd
cmp edx, 0x5f
je 0x489afd
xor eax, eax
jmp 0x489b02
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x4894e3
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489a5f
jmp 0x4894e3
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x4894e6
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x30], 1
cmp esi, dword [ebp - 0x10]
jae 0x4893e7
movzx edx, word [esi]
mov dword [ebp - 0x18], edx
test ecx, ecx
je 0x489b95
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489b92
movzx eax, word [esi + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
lea edx, [edx*4 + 0x4af670]
mov dword [ebp - 0x28], edx
mov edx, dword [edx]
cmp dword [ebp - 0x18], edx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x24]
jb 0x489bce
mov ebx, dword [ebp - 0xc]
add dword [ebp - 0x28], 4
cmp dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
je 0x489bf9
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
cmp dword [ebp - 0x18], edx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x24]
jae 0x489baf
cmp dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0x24]
je 0x4894e6
mov ecx, dword [ebp - 0x30]
inc eax
lea esi, [esi + ecx*2]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489b41
jmp 0x4894e6
cmp dword [ebp - 0x3c], 0
je 0x489bdb
jmp 0x4894e6
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x4894e6
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x30], 1
cmp esi, dword [ebp - 0x28]
jae 0x4893e7
movzx edx, word [esi]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x24]
test ecx, ecx
je 0x489c71
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489c6e
movzx eax, word [esi + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0x24
je 0x489ca5
cmp dword [ebp - 0x18], 0x40
je 0x489ca5
cmp dword [ebp - 0x18], 0x60
je 0x489ca5
cmp dword [ebp - 0x18], 0xa0
jb 0x489c95
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x489ca5
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x489cac
mov dword [ebp - 0xc], 1
mov ebx, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
je 0x4894e6
mov edx, dword [ebp - 0x30]
inc eax
lea esi, [esi + edx*2]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489c19
jmp 0x4894e6
mov eax, dword [ebp - 0x34]
cmp eax, 0x16
jne 0x489ede
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489e91
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x30], eax
cmp esi, eax
jae 0x489e69
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x489d3f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489d3f
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x489d64
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx edx, byte [eax*8 + 0x4ac0d2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x489e2e
mov ebx, dword [ebp - 0x20]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x489dc6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489dc6
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x489de8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f454], eax
je 0x489e1f
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x30]
cmp esi, eax
jb 0x489d89
jmp 0x489e22
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x489e57
cmp esi, eax
jb 0x489e57
cmp esi, dword [ebx + 0x88]
jbe 0x489e57
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489cf1
jmp 0x489e8e
cmp dword [ebx + 0x8c], 0
je 0x489e8e
cmp esi, dword [ebx + 0x88]
jbe 0x489e8e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x408d50
cmp esi, dword [ebp - 0x2c]
je 0x408dbe
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ebx, dword [ebp - 0x20]
sub esi, 2
mov dword [ebp - 8], esi
test ebx, ebx
jne 0x48aead
movzx ecx, word [esi]
jmp 0x48aef0
add eax, 0xfffffffa
test ecx, ecx
je 0x48a80e
cmp eax, 0xf
ja case.default.0x48647b
jmp dword [eax*4 + 0x48d1d5]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7fffffff
jge 0x48a0c0
cmp dword [ebp - 0x14], eax
jge 0x489fce
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a089
cmp dword [ebx + 0x18], 0
je 0x48a04e
push ecx
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne 0x489fcb
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x489f83
cmp edx, dword [ebx + 0x7c]
jb 0x489f83
cmp dword [ebx + 0x18], 0
jne 0x489f83
cmp dword [ebx + 0x1c], 2
jne 0x489f83
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x489f83
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
cmp esi, dword [ebx + 0x7c]
jae 0x489fbb
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x489fbb
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489f16
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x408d50
cmp esi, dword [ebp - 0x2c]
je 0x408dbe
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x48a024
sub esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x34], 0x11
mov ecx, dword [ebp - 0x2c]
jne 0x48a045
cmp esi, ecx
jbe 0x48a047
cmp word [esi], 0xa
jne 0x48a045
cmp word [esi - 2], 0xd
lea eax, [esi - 2]
cmove esi, eax
mov dword [ebp - 8], esi
cmp esi, ecx
jne 0x489fdf
jmp 0x408dbe
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x489f49
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x489f49
cmp dword [ebx + 0x1c], 1
je 0x489fcb
mov edx, dword [ebp - 0x10]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
jne 0x489f4c
jmp 0x489fcb
cmp dword [ebx + 0x8c], 0
je 0x489fcb
cmp esi, dword [ebx + 0x88]
jbe 0x489fcb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489fcb
mov eax, 0xfffffff4
jmp 0x408e97
cmp dword [ebp - 0x14], eax
jge 0x489fce
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a089
cmp dword [ebx + 0x18], 0
je 0x48a185
push ecx
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne 0x489fcb
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x48a138
cmp edx, dword [ebx + 0x7c]
jb 0x48a138
cmp dword [ebx + 0x18], 0
jne 0x48a138
cmp dword [ebx + 0x1c], 2
jne 0x48a138
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a138
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
cmp esi, dword [ebx + 0x7c]
jae 0x48a170
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x48a170
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48a0cf
jmp 0x489fcb
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48a0fe
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a0fe
cmp dword [ebx + 0x1c], 1
je 0x489fcb
mov edx, dword [ebp - 0x10]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
jne 0x48a101
jmp 0x489fcb
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7fffffff
jge 0x48a215
mov ecx, dword [ebp - 0x14]
cmp ecx, eax
jge 0x489fce
mov eax, dword [ebx + 0x7c]
cmp esi, eax
jae 0x48a21f
add esi, 2
mov dword [ebp - 8], esi
cmp esi, eax
jae 0x48a20a
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebx + 0x7c]
jne 0x48a20a
add esi, 2
mov dword [ebp - 8], esi
inc ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x48a1d8
jmp 0x489fce
mov esi, dword [ebx + 0x7c]
jmp 0x48a21c
mov esi, ecx
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x489fce
cmp esi, dword [ebx + 0x88]
jbe 0x489fce
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489fce
mov eax, 0xfffffff4
jmp 0x408e97
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, ecx
sub eax, esi
sar eax, 1
cmp dword [ebp - 0x1c], eax
ja 0x48a21a
mov eax, dword [ebp - 0x1c]
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp esi, eax
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a2cc
movzx eax, word [esi + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x48a2cf
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
jne 0x48a2f0
mov eax, dword [ebx + 0x7c]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, eax
jae 0x489fce
cmp word [esi], 0xa
jne 0x48a32e
add esi, 2
jmp 0x48a32b
cmp eax, 0xa
je 0x48a322
cmp dword [ebx + 0x6c], 0
jne 0x489fce
cmp eax, 0xb
je 0x48a322
cmp eax, 0xc
je 0x48a322
cmp eax, 0x85
je 0x48a322
cmp eax, 0x2028
je 0x48a322
cmp eax, 0x2029
jne 0x489fce
mov eax, dword [ebp - 0xc]
lea esi, [esi + eax*2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 8], esi
inc ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x48a28a
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a390
movzx eax, word [esi + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], 2
add eax, 0x10000
jmp 0x48a393
mov eax, dword [ebp - 0x10]
cmp eax, 0x180e
ja 0x48a3e9
je 0x48a3af
cmp eax, 0xa0
ja 0x48a3e0
je 0x48a3af
cmp eax, 9
je 0x48a3af
cmp eax, 0x20
jne 0x48a410
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x34], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x489fce
mov eax, dword [ebp - 0x30]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a349
jmp 0x489fce
cmp eax, 0x1680
jne 0x48a410
jmp 0x48a3af
cmp eax, 0x205f
ja 0x48a409
je 0x48a3af
cmp eax, 0x2000
jb 0x48a410
cmp eax, 0x200a
jbe 0x48a3af
cmp eax, 0x202f
jne 0x48a410
jmp 0x48a3af
cmp eax, 0x3000
je 0x48a3af
mov dword [ebp - 0xc], 0
jmp 0x48a3b6
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a46c
movzx eax, word [esi + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], 2
add eax, 0x10000
jmp 0x48a46f
mov eax, dword [ebp - 0x10]
cmp eax, 0x85
ja 0x48a4b3
je 0x48a4bd
cmp eax, 0xa
jb 0x48a482
cmp eax, 0xd
jbe 0x48a4bd
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x34], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x489fce
mov eax, dword [ebp - 0x30]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a425
jmp 0x489fce
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48a482
mov dword [ebp - 0xc], 1
jmp 0x48a489
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a51f
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a522
movzx eax, word [esi]
cmp eax, 0x100
jae 0x48a53c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
mov edx, dword [ebp - 0x24]
jne 0x489fce
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a4d2
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a5a9
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a5ac
movzx eax, word [esi]
cmp eax, 0x100
jae 0x489fce
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
mov edx, dword [ebp - 0x24]
je 0x489fce
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a55c
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a637
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a63a
movzx eax, word [esi]
cmp eax, 0x100
jae 0x48a654
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
mov edx, dword [ebp - 0x24]
jne 0x489fce
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a5ea
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a6c1
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a6c4
movzx eax, word [esi]
cmp eax, 0x100
jae 0x489fce
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
mov edx, dword [ebp - 0x24]
je 0x489fce
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a674
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a74f
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a752
movzx eax, word [esi]
cmp eax, 0x100
jae 0x48a76c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
mov edx, dword [ebp - 0x24]
jne 0x489fce
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a702
jmp 0x489fce
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489fce
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a21f
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a7d9
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a7dc
movzx eax, word [esi]
cmp eax, 0x100
jae 0x489fce
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
mov edx, dword [ebp - 0x24]
je 0x489fce
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a78c
jmp 0x489fce
cmp eax, 0xf
ja case.default.0x48647b
jmp dword [eax*4 + 0x48d215]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x48a8cc
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a930
cmp dword [ebx + 0x18], 0
je 0x48a858
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne 0x48a8c9
mov ecx, dword [ebp - 0x14]
jmp 0x48a87c
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48a87c
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a87c
cmp dword [ebx + 0x1c], 1
je 0x48a8c9
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je 0x48a8c9
cmp dword [ebx + 0x8c], 0
je 0x48a8b6
lea eax, [esi + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x48a8b6
cmp dword [ebx + 0x18], 0
jne 0x48a8b6
cmp dword [ebx + 0x1c], 2
jne 0x48a8b6
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a8b6
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x48a82a
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x408d50
cmp esi, dword [ebp - 0x2c]
je 0x408dbe
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x2c]
sub esi, 2
cmp dword [ebp - 0x34], 0x11
mov dword [ebp - 8], esi
jne 0x48a927
cmp esi, ecx
jbe 0x48a929
cmp word [esi], 0xa
jne 0x48a927
cmp word [esi - 2], 0xd
lea eax, [esi - 2]
cmove esi, eax
mov dword [ebp - 8], esi
cmp esi, ecx
jne 0x48a8dd
jmp 0x408dbe
cmp dword [ebx + 0x8c], 0
je 0x48a8c9
cmp esi, dword [ebx + 0x88]
jbe 0x48a8c9
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48a8c9
mov eax, 0xfffffff4
jmp 0x408e97
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, ecx
sub eax, esi
sar eax, 1
cmp dword [ebp - 0x1c], eax
jbe 0x48a9b2
mov esi, ecx
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x48a8cc
cmp esi, dword [ebx + 0x88]
jbe 0x48a8cc
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48a8cc
mov eax, 0xfffffff4
jmp 0x408e97
mov eax, dword [ebp - 0x1c]
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x48a97b
movzx ecx, word [esi]
cmp ecx, 0xd
jne 0x48a9f4
mov ecx, dword [ebx + 0x7c]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, ecx
jae 0x48a8cc
cmp word [esi], 0xa
je 0x48aa2c
jmp 0x48aa32
cmp ecx, 0xa
je 0x48aa29
cmp dword [ebx + 0x6c], 0
jne 0x48a8cc
cmp ecx, 0xb
je 0x48aa29
cmp ecx, 0xc
je 0x48aa29
cmp ecx, 0x85
je 0x48aa29
cmp ecx, 0x2028
je 0x48aa29
cmp ecx, 0x2029
jne 0x48a8cc
mov ecx, dword [ebx + 0x7c]
add esi, 2
mov dword [ebp - 8], esi
inc eax
cmp eax, dword [ebp - 0x1c]
jl 0x48a9cf
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x48aa91
je 0x48a8cc
cmp ecx, 0xa0
jg 0x48aa84
je 0x48a8cc
cmp ecx, 9
je 0x48a8cc
cmp ecx, 0x20
jne 0x48aacc
jmp 0x48a8cc
cmp ecx, 0x1680
jne 0x48aacc
jmp 0x48a8cc
cmp ecx, 0x205f
jg 0x48aac0
je 0x48a8cc
cmp ecx, 0x2000
jl 0x48aacc
cmp ecx, 0x200a
jle 0x48a8cc
cmp ecx, 0x202f
jne 0x48aacc
jmp 0x48a8cc
cmp ecx, 0x3000
je 0x48a8cc
add esi, 2
inc eax
mov dword [ebp - 8], esi
cmp eax, dword [ebp - 0x1c]
jl 0x48aa49
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x48ab29
je 0x48ab60
cmp ecx, 0xa0
jg 0x48ab1c
je 0x48ab60
cmp ecx, 9
je 0x48ab60
cmp ecx, 0x20
je 0x48ab60
jmp 0x48a8cc
cmp ecx, 0x1680
je 0x48ab60
jmp 0x48a8cc
cmp ecx, 0x205f
jg 0x48ab54
je 0x48ab60
cmp ecx, 0x2000
jl 0x48a8cc
cmp ecx, 0x200a
jle 0x48ab60
cmp ecx, 0x202f
je 0x48ab60
jmp 0x48a8cc
cmp ecx, 0x3000
jne 0x48a8cc
add esi, 2
inc eax
mov dword [ebp - 8], esi
cmp eax, dword [ebp - 0x1c]
jl 0x48aaed
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx ecx, word [esi]
cmp ecx, 0x85
jg 0x48aba6
je 0x48a8cc
cmp ecx, 0xa
jl 0x48abba
cmp ecx, 0xd
jg 0x48abba
jmp 0x48a8cc
cmp ecx, 0x2028
jl 0x48abba
cmp ecx, 0x2029
jle 0x48a8cc
add esi, 2
inc eax
mov dword [ebp - 8], esi
cmp eax, dword [ebp - 0x1c]
jl 0x48ab7d
jmp 0x48a8cc
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx eax, word [esi]
cmp eax, 0x85
jg 0x48abf9
je 0x48ac07
add eax, 0xfffffff6
cmp eax, 3
jbe 0x48ac07
jmp 0x48a8cc
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48a8cc
add esi, 2
inc ecx
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48abd7
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx ecx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp cx, word [ebp - 0xc]
ja 0x48ac4d
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne 0x48a8cc
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ac24
jmp 0x48a8cc
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja 0x48a8cc
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je 0x48a8cc
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ac6d
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx ecx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp cx, word [ebp - 0xc]
ja 0x48ace2
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne 0x48a8cc
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48acb9
jmp 0x48a8cc
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja 0x48a8cc
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je 0x48a8cc
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ad02
jmp 0x48a8cc
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx ecx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp cx, word [ebp - 0xc]
ja 0x48ad77
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x48a8cc
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ad4e
jmp 0x48a8cc
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x48a8cc
cmp esi, dword [ebx + 0x7c]
jae 0x48a97b
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja 0x48a8cc
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x48a8cc
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ad97
jmp 0x48a8cc
mov eax, dword [ebp + 0x18]
inc eax
cmp word [edi], 0x74
push eax
push dword [ebp + 0x14]
push ebx
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x48ae06
lea edx, [edi + 4]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov edi, dword [ebp - 0xc]
jmp 0x408dbb
mov edx, dword [ebp - 0xc]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
add edi, 4
jmp 0x408dbb
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
cmovg ecx, eax
movzx eax, word [edi + 6]
mov dword [ebp + 0xc], ecx
lea edi, [edi + eax*2]
add edi, 4
cmp word [edi], 0x71
jne 0x48ae55
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48ae42
jmp 0x48ae55
mov ecx, dword [ebp + 0xc]
cmp esi, 0x86
je 0x48afd0
add edi, 4
jmp 0x408dbb
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x48ae90
mov ecx, dword [ebp - 0x18]
cmp dword [ebx + 0xb8], ecx
jne 0x408e97
jmp 0x48ae9b
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x18]
cmp word [ecx], 0x7b
je 0x48b083
add edi, 4
jmp 0x408dbb
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48aec5
sub esi, 2
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aef0
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48af12
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 2
jne 0x48af36
sub esi, 2
jmp 0x489ece
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], esi
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x2c]
jne 0x489ea2
jmp 0x408dbe
mov dword [ebx + 0x9c], 2
jmp 0x409674
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x48cdf7
cmp word [edi], 0x71
je 0x4096c3
cmp word [eax], 0x71
jne 0x48cdf7
jmp 0x4096c3
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49f530]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x408e97
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
call fcn.00408cf0
add esp, 0x14
jmp 0x408e97
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x408d70.151
push eax
call dword [0x4bc80c]
add esp, 4
jmp case.0x408d70.151
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x14c]
cmp ecx, edx
je 0x408e97
push ecx
call dword [0x4bc80c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0x408e97
mov eax, 0xfffffffa
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x408e97
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0x408e97
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
lea edx, [edi + 4]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0x408e97
cmp ecx, dword [ebx + 0x88]
jbe case.0x408d70.151
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x408d70.151
mov eax, 0xfffffff4
jmp 0x408e97
mov eax, 0xfffffff2
jmp 0x408e97
cmp eax, 0xfffffffe
jne 0x48b13f
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jb case.0x408d70.151
cmp esi, dword [ebx + 0x88]
jmp 0x48b109
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x48b169
jmp 0x48b1cf
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push ebx
push esi
mov edx, eax
call fcn.004723d2
add esp, 0xc
test eax, eax
js 0x48b196
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x48b166
jmp 0x48b1c6
cmp eax, 0xfffffffe
jne 0x48b1c3
cmp dword [ebx + 0x8c], 0
je 0x48b1c3
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x48b1c3
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0x408d70.151
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov edx, dword [ebp - 8]
mov eax, esi
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, dword [ebp - 0xc]
jae 0x48b1cf
xor eax, eax
jmp 0x408e97
cmp ecx, 0xfffffffe
jne 0x48b216
mov eax, dword [ebx + 0x7c]
jmp 0x48b219
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
cmp eax, dword [ebx + 0x7c]
jb case.0x408d70.151
cmp eax, dword [ebx + 0x88]
jmp 0x48b109
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
mov ecx, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
je 0x48b33b
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jge case.0x408d70.151
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b323
movzx eax, word [ecx]
mov dword [ebp - 0x10], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48b2bf
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x10]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], ecx
jmp 0x48b2c2
mov eax, dword [ebp - 0x10]
cmp eax, 0xff
jbe 0x48b2d4
cmp esi, 0x6a
je case.0x408d70.151
jmp 0x48b2f9
shr dword [ebp - 0x10], 3
mov edx, dword [ebp - 0x10]
mov ecx, eax
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [edx + ecx], al
mov edx, dword [ebp - 0x34]
je case.0x408d70.151
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x34], edx
push dword [ebp + 8]
mov edx, edi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b266
jmp 0x408e97
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
cmp ecx, dword [ebx + 0x88]
jmp 0x48b109
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jge case.0x408d70.151
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4095b4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x48b382
cmp esi, 0x6a
je case.0x408d70.151
jmp 0x48b3a2
shr dword [ebp - 0x28], 3
mov ebx, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x34], edx
push dword [ebp + 8]
mov edx, edi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b34b
jmp 0x408e97
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 2
jmp 0x4090bf
cmp esi, 0x6a
je 0x4090eb
jmp 0x4096eb
cmp dword [ebx + 0x8c], 0
je 0x4090eb
cmp eax, dword [ebx + 0x88]
jbe 0x4090eb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
jmp 0x4090eb
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x40]
je case.0x408d70.151
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48b45a
sub esi, 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b434
jmp 0x408e97
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jge 0x48b4fb
cmp eax, dword [ebx + 0x7c]
jae 0x48b4cd
movzx ecx, word [eax]
mov dword [ebp - 0x28], ecx
cmp ecx, 0xff
jbe 0x48b4a0
cmp esi, 0x6a
jne 0x48b4bf
jmp 0x48b4f2
shr dword [ebp - 0x28], 3
mov ebx, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
je 0x48b4f2
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x48b486
jmp 0x48b4f2
cmp dword [ebx + 0x8c], 0
je 0x48b4f2
cmp eax, dword [ebx + 0x88]
jbe 0x48b4f2
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
cmp eax, dword [ebp - 0x40]
jb case.0x408d70.151
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
sub esi, 2
cmp esi, dword [ebp - 0x40]
jae 0x48b4fe
jmp 0x408e97
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.004727d9
add esp, 4
test eax, eax
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x486a65
jmp 0x408e97
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
cmp esi, dword [ebx + 0x88]
jmp 0x48b109
mov dword [ebp - 0x40], esi
cmp edx, eax
jge 0x48b631
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48b60c
movzx edx, word [esi]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
test ecx, ecx
je 0x48b5e3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b5de
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
mov dword [ebp - 0xc], 2
jmp 0x48b5e6
mov eax, dword [ebp - 0x30]
jmp 0x48b5e6
movzx eax, word [esi]
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.004727d9
add esp, 4
test eax, eax
je 0x48b631
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
inc edx
lea esi, [esi + eax*2]
mov dword [ebp - 0x18], edx
cmp edx, dword [ebp - 0x10]
jl 0x48b595
jmp 0x48b631
cmp dword [ebx + 0x8c], 0
je 0x48b631
cmp esi, dword [ebx + 0x88]
jbe 0x48b631
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x40]
je case.0x408d70.151
cmp dword [ebp - 0x20], 0
je 0x48b680
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48b680
sub esi, 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b654
jmp 0x408e97
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
cmp edx, dword [ebx + 0x7c]
jb case.0x408d70.151
cmp edx, dword [ebx + 0x88]
jmp 0x48b109
cmp dword [ebx + 0x8c], edx
je case.0x408d70.151
cmp ecx, dword [ebx + 0x88]
jmp 0x48b109
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x408d70.151
cmp ecx, dword [ebx + 0x7c]
jb case.0x408d70.151
jmp 0x48b103
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x10]
lea edx, [ecx + ecx]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], eax
jge case.0x408d70.151
mov eax, dword [ebx + 0x7c]
sub eax, edx
cmp esi, eax
ja 0x48b757
lea eax, [ecx + ecx]
push eax
push dword [ebp - 0x28]
push esi
call fcn.00420c63
add esp, 0xc
test eax, eax
jne 0x48b757
add esi, dword [ebp - 0xc]
jmp 0x48b791
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jle 0x48b13f
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x30], edx
cmp esi, eax
ja 0x48b13f
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x6c]
push eax
push esi
call fcn.00420c63
add esp, 0xc
test eax, eax
jne 0x48b13f
add esi, dword [ebp - 0x30]
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x1c]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
mov ecx, dword [ebp - 0x10]
add esp, 0x14
lea edx, [ecx + ecx]
test eax, eax
je 0x48b729
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x34]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je 0x48b80b
cmp dword [ebp - 0x14], ecx
jne case.0x408d70.151
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b7e5
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
jne case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b859
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48b94f
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48b915
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x14], edx
je case.0x408d70.151
cmp dword [ebp - 0x10], edx
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b8d0
jmp 0x408e97
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x34]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
cmp dword [ebp - 0x14], ecx
je case.0x408d70.151
cmp dword [ebp - 0x10], ecx
je case.0x408d70.151
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b95f
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48ba55
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48ba24
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x14], edx
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48b9df
jmp 0x408e97
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x14], eax
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48ba65
jmp 0x408e97
cmp eax, 0xa
ja case.default.0x48647b
jmp dword [eax*4 + 0x48d255]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48bb16
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48bb16
add esi, 2
cmp dword [ebp - 0x3c], 0
jne case.0x408d70.151
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48bae4
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edx
je 0x48bbbc
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bbbc
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
add esi, 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48bbe1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, 9
je 0x48bc06
cmp eax, 5
je 0x48bc06
cmp eax, 8
je 0x48bc06
xor eax, eax
jmp 0x48bc0b
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48bb6b
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48bcae
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bcae
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bcd0
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48bc63
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48bd93
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bd93
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bdb5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48bd48
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48be71
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48be71
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48be93
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48be26
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edx
je 0x48bf55
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bf55
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
add esi, 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48bf7a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48bfa1
cmp eax, 3
je 0x48bfa1
xor eax, eax
jmp 0x48bfa6
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48bf04
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
je 0x48c04f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c04f
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], ecx
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c075
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48c0a9
cmp edx, 9
je 0x48c0a9
cmp edx, 0xa
je 0x48c0a9
cmp edx, 0xc
je 0x48c0a9
cmp edx, 0xd
je 0x48c0a9
xor eax, eax
jmp 0x48c0ae
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48bffe
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
je 0x48c156
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c156
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], ecx
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c17c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48c1b5
cmp edx, 9
je 0x48c1b5
cmp edx, 0xa
je 0x48c1b5
cmp edx, 0xb
je 0x48c1b5
cmp edx, 0xc
je 0x48c1b5
cmp edx, 0xd
je 0x48c1b5
xor eax, eax
jmp 0x48c1ba
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48c105
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
je 0x48c262
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c262
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], ecx
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c288
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48c2b4
cmp eax, 3
je 0x48c2b4
cmp edx, 0x5f
je 0x48c2b4
xor eax, eax
jmp 0x48c2b9
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48c211
jmp 0x408e97
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48c35e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c35b
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx*4 + 0x4af670]
lea edx, [edx*4 + 0x4af670]
mov dword [ebp - 0xc], ebx
cmp ecx, ebx
mov ebx, dword [ebp + 0x10]
jb 0x48c390
mov ebx, dword [ebp + 0x10]
lea edx, [edx + 4]
cmp ecx, dword [ebp - 0xc]
je 0x48c3c6
mov ebx, dword [edx]
mov dword [ebp - 0xc], ebx
cmp ecx, ebx
mov ebx, dword [ebp + 0x10]
jae 0x48c379
cmp dword [ebp - 0x3c], 0
je case.0x408d70.151
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48c310
jmp 0x408e97
cmp dword [ebp - 0x3c], 0
jne case.0x408d70.151
jmp 0x48c39a
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge case.0x408d70.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b572
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48c443
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c440
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, dword [ebp - 0x14]
cmp ecx, 0x24
je 0x48c46e
cmp ecx, 0x40
je 0x48c46e
cmp ecx, 0x60
je 0x48c46e
cmp ecx, 0xa0
jb 0x48c462
cmp ecx, 0xd7ff
jbe 0x48c46e
cmp ecx, 0xe000
jae 0x48c46e
xor ecx, ecx
jmp 0x48c473
mov ecx, 1
cmp ecx, dword [ebp - 0x3c]
je case.0x408d70.151
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48c3f5
jmp 0x408e97
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x408d70.151
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x30], eax
cmp esi, eax
jae 0x48b572
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edx
je 0x48c510
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c510
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
add esi, 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48c535
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx edx, byte [eax*8 + 0x4ac0d2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48c5fc
mov ebx, dword [ebp - 0x20]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x48c597
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c597
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48c5b9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f454], eax
je 0x48c5f0
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x30]
cmp esi, eax
jb 0x48c55a
jmp 0x48c5f3
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x14]
cmp dword [ebx + 0x8c], 0
je 0x48c625
cmp esi, eax
jb 0x48c625
cmp esi, dword [ebx + 0x88]
jbe 0x48c625
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48c4ba
jmp 0x408e97
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x409557
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x409557
cmp dword [ebx + 0x1c], 1
je case.0x408d70.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x408d70.151
jmp 0x409557
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0x40956f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48647b
jmp dword [eax*4 + 0x48d281]
cmp edx, 0xd
ja 0x48c6f7
je 0x48c6dc
cmp edx, 0xa
je case.0x48c6b7.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x408d70.151
jmp 0x48c70e
cmp esi, dword [ebx + 0x7c]
jae case.0x48c6b7.13
cmp word [esi], 0xa
jne case.0x48c6b7.13
add esi, 2
jmp case.0x48c6b7.13
cmp edx, 0x85
je 0x48c70e
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408d70.151
cmp dword [ebx + 0x6c], 0
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x180e
ja 0x48c761
je case.0x408d70.151
cmp edx, 0xa0
ja 0x48c750
je case.0x408d70.151
cmp edx, 9
je case.0x408d70.151
cmp edx, 0x20
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x1680
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x205f
ja 0x48c798
je case.0x408d70.151
cmp edx, 0x2000
jb case.0x48c6b7.13
cmp edx, 0x200a
jbe case.0x408d70.151
cmp edx, 0x202f
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x3000
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x180e
ja 0x48c7ed
je case.0x48c6b7.13
cmp edx, 0xa0
ja 0x48c7dc
je case.0x48c6b7.13
cmp edx, 9
je case.0x48c6b7.13
cmp edx, 0x20
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x1680
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x205f
ja 0x48c824
je case.0x48c6b7.13
cmp edx, 0x2000
jb case.0x408d70.151
cmp edx, 0x200a
jbe case.0x48c6b7.13
cmp edx, 0x202f
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x3000
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x85
ja 0x48c85a
je case.0x408d70.151
cmp edx, 0xa
jb case.0x48c6b7.13
cmp edx, 0xd
jbe case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x2028
jb case.0x48c6b7.13
cmp edx, 0x2029
jbe case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x85
ja 0x48c896
je case.0x48c6b7.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x408d70.151
jmp case.0x48c6b7.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x100
jae case.0x48c6b7.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x100
jae case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x100
jae case.0x48c6b7.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x100
jae case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x100
jae case.0x48c6b7.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x408d70.151
jmp case.0x48c6b7.13
cmp edx, 0x100
jae case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x408d70.151
jmp case.0x48c6b7.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48c6b7.13
cmp dword [ebx + 0x18], 0
jne case.0x48c6b7.13
cmp dword [ebx + 0x1c], 2
jne case.0x48c6b7.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48c6b7.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
jmp case.0x48c6b7.13
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x408d70.151
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b572
mov eax, dword [ebp - 0x34]
cmp eax, 0xc
jne 0x48ca25
cmp dword [ebx + 0x18], 0
je 0x48c9f6
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040786f
add esp, 0xc
test eax, eax
jne case.0x408d70.151
mov ecx, dword [ebp - 0x14]
jmp 0x48ca22
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48ca22
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48ca22
cmp dword [ebx + 0x1c], 1
je case.0x408d70.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x408d70.151
mov eax, dword [ebp - 0x34]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x48647b
jmp dword [eax*4 + 0x48d2c1]
cmp dword [ebx + 0x8c], 0
je case.0x48ca37.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48ca37.13
cmp dword [ebx + 0x18], 0
jne case.0x48ca37.13
cmp dword [ebx + 0x1c], 2
jne case.0x48ca37.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48ca37.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48598d
jmp case.0x48ca37.13
cmp edx, 0xd
ja 0x48cac6
je 0x48caab
cmp edx, 0xa
je case.0x48ca37.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x408d70.151
jmp 0x48cadd
cmp esi, dword [ebx + 0x7c]
jae case.0x48ca37.13
cmp word [esi], 0xa
jne case.0x48ca37.13
add esi, 2
jmp case.0x48ca37.13
cmp edx, 0x85
je 0x48cadd
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408d70.151
cmp dword [ebx + 0x6c], 0
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x180e
ja 0x48cb30
je case.0x408d70.151
cmp edx, 0xa0
ja 0x48cb1f
je case.0x408d70.151
cmp edx, 9
je case.0x408d70.151
cmp edx, 0x20
je case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x1680
je case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x205f
ja 0x48cb67
je case.0x408d70.151
cmp edx, 0x2000
jb case.0x48ca37.13
cmp edx, 0x200a
jbe case.0x408d70.151
cmp edx, 0x202f
je case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x3000
je case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x180e
ja 0x48cbbc
je case.0x48ca37.13
cmp edx, 0xa0
ja 0x48cbab
je case.0x48ca37.13
cmp edx, 9
je case.0x48ca37.13
cmp edx, 0x20
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x1680
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x205f
ja 0x48cbf3
je case.0x48ca37.13
cmp edx, 0x2000
jb case.0x408d70.151
cmp edx, 0x200a
jbe case.0x48ca37.13
cmp edx, 0x202f
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x3000
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x85
ja 0x48cc29
je case.0x408d70.151
cmp edx, 0xa
jb case.0x48ca37.13
cmp edx, 0xd
jbe case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x2028
jb case.0x48ca37.13
cmp edx, 0x2029
jbe case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0x85
ja 0x48cc65
je case.0x48ca37.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x408d70.151
jmp case.0x48ca37.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0xff
ja case.0x48ca37.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0xff
ja case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0xff
ja case.0x48ca37.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0xff
ja case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0xff
ja case.0x48ca37.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x408d70.151
jmp case.0x48ca37.13
cmp edx, 0xff
ja case.0x408d70.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x408d70.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
je 0x48c9b0
jmp 0x408e97
mov dword [ebx + 0x9c], 2
jmp 0x4093ff
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x409448
cmp word [edi], 0x71
je 0x48cd6f
cmp word [eax], 0x71
jne 0x409448
xor edx, edx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
je 0x4093f3
mov esi, dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x10]
lea ecx, [esi + esi]
mov dword [eax + ecx*4], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x40]
mov dword [eax + ecx*4 + 4], edi
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub ecx, esi
mov esi, dword [ebp - 0x18]
mov dword [eax + ecx*4], esi
jmp 0x409448
cmp edx, 0xfffffc1b
jne 0x48cdf7
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48cdec
cmp eax, 0x71
jne 0x48cde3
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48cdd5
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
xor eax, eax
cmp dword [ebx + 0xb8], edi
cmove edx, eax
mov eax, edx
jmp 0x408e97
mov esi, dword [ebp - 8]
lea eax, [edi + 4]
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb0], edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49f530]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, esi
call fcn.00408cf0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x48ce4e
cmp edi, 0xfffffc19
jne 0x48ce67
cmp dword [ebx + 0xb0], 0
jne 0x48ce67
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0x408e97
cmp edi, 0xfffffc1f
jne 0x48ce85
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.00472608
test eax, eax
je 0x48cf96
mov eax, edi
jmp 0x408e97
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
mov ecx, 0xfffffc1c
cmovne ecx, eax
mov eax, ecx
jmp 0x408e97
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
test eax, eax
mov ecx, 0xfffffc1d
cmovne ecx, eax
mov eax, ecx
jmp 0x408e97
lea esi, [edi + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], edx
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49f530]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00408cf0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x48cf47
cmp ecx, 0xfffffc19
jne 0x48cf56
cmp dword [ebx + 0xb0], 0
jne 0x48cf56
mov dword [ebx + 0xb0], esi
mov eax, 0xfffffc1d
test ecx, ecx
cmovne eax, ecx
jmp 0x408e97
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.00408cf0
add esp, 0x14
test eax, eax
jne 0x408e97
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0x408e97
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408cf0
add esp, 0x14
jmp 0x48cfd5
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x408e97
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0x408e97
lea esi, [edi + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], edx
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49f530]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00408cf0
add esp, 0x14
cmp eax, 1
je 0x48d035
cmp eax, 0xfffffc19
jne 0x48cfd5
cmp dword [ebx + 0xb0], 0
jne 0x48cfd5
jmp 0x48cfcf
cmp esi, 0x99
je 0x408e75
cmp dword [ebx + 0xa8], 0
jne 0x408e75
cmp dword [ebx + 0x60], 0
jne case.0x408d70.151
cmp dword [ebx + 0x64], 0
je 0x408e75
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x408d70.151
jmp 0x408e75
mov eax, 0xfffffc19
jmp 0x408e97
mov eax, 0xfffffffb
jmp 0x408e97
mov eax, 0xffffffeb
jmp 0x408e97
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0x408e97