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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
movzx eax, word [ebp + 0xc]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, edx
mov dword [ebp - 0x38], 0xfc00
push esi
mov edx, dword [eax + 0x8c]
mov esi, edx
mov eax, dword [eax + 0x10]
shr edx, 0x11
and edx, 1
shr esi, 0x13
mov dword [ebp - 0x20], edx
and esi, 1
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x18], 0
add edx, 0xffffffc8
mov dword [eax + 0x48], 0
mov dword [eax + 0x44], 0xffffffff
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ecx
mov dword [ebp - 0x2c], edx
xor edx, edx
mov dword [eax + 0x40], 0
mov dword [eax + 0x50], 0
push edi
mov dword [ebp - 8], esi
mov dword [ebp - 4], eax
mov dword [eax + 0x4c], 0xffffffff
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x3c], 0xdc00
nop dword [eax]
mov dword [eax + 0x1c], edx
mov dword [eax], ebx
mov ebx, dword [ebp + 0x14]
mov dword [eax + 0x10], ebx
test edx, edx
je 0x46f244
mov ecx, dword [ebp + 0x18]
sub eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x46f23f
movzx eax, dx
mov dword [ecx + 0x44], eax
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x18]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
cmp edx, ecx
jae 0x477dd2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x24]
jb 0x46f27b
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
nop
mov eax, dword [eax]
mov dl, byte [eax]
mov eax, dword [ebp - 4]
mov byte [eax + 0x31], dl
movzx eax, dl
cmp eax, 0xa6
ja case.0x475f16.15
movzx eax, byte [eax + 0x477f3c]
jmp dword [eax*4 + 0x477de0]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
jne 0x46f320
mov eax, dword [eax]
mov ecx, dword [ebp + 0x18]
movzx edi, word [eax + 2]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
nop
cmp eax, 0xffffffff
je case.0x475f16.15
mov ebx, dword [ecx + 0x10]
add ebx, eax
mov eax, edi
mov edx, ebx
mov dword [ebp - 0x14], ebx
sub edx, dword [ebp + 0x14]
or eax, 0x10000
cmp dword [ebx + 0x1c], eax
je 0x46f2e7
mov eax, dword [edx + 0x4c]
jmp 0x46f2c0
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov edi, dword [ebp + 0x18]
mov eax, dword [edx + 0x38]
mov edx, dword [ebp - 4]
sub eax, dword [edi + 0x5c]
sar eax, 1
mov dword [edx + ecx*4 + 0x54], eax
mov eax, edx
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x5c]
sar eax, 1
mov dword [edx + ecx*4 + 0x58], eax
mov eax, edx
cmp ecx, dword [eax + 0x50]
jb 0x46f31d
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov esi, dword [ebp - 8]
jmp 0x46f278
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x46f34a
mov dword [edi + 0x70], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov eax, 0xfffffc19
jmp 0x4716f1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
je 0x46f3b7
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x475f16.15
mov edx, dword [edi + 0x10]
add edx, eax
mov ecx, edx
mov dword [ebp - 0x14], edx
sub ecx, ebx
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x46f38f
mov eax, dword [ecx + 0x4c]
jmp 0x46f366
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov dword [ecx + 0x3c], eax
mov eax, ecx
add dword [ecx], 4
mov dword [ebp - 4], eax
jmp 0x46f280
mov esi, dword [eax + 0x3c]
cmp dword [eax + 0x38], esi
jne 0x46f3eb
mov eax, dword [edi + 0x88]
test al, 4
jne 0x4716ec
test al, 8
je 0x46f3e8
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x18]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x5c]
lea eax, [eax + ecx*2]
cmp esi, eax
je 0x4716ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x477d1b
mov eax, dword [edi + 0x8c]
or eax, dword [edi + 0x88]
test eax, 0x20000000
je 0x477d1b
xor eax, eax
test dl, dl
jne 0x477dd7
mov esi, dword [ebp - 8]
jmp 0x4716f1
mov eax, dword [ebp + 0x18]
mov edi, eax
mov edx, dword [eax + 0x98]
test edx, edx
je 0x46f45b
mov ecx, dword [eax + 0x64]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], ecx
jae 0x46f49c
push esi
lea eax, [edi + 0x9c]
push eax
mov eax, dword [ebp - 4]
push ecx
mov ecx, dword [eax + 0x38]
call fcn.00483db0
add esp, 0xc
test eax, eax
jne case.0x46f29f.162
jmp 0x46f499
mov esi, dword [eax + 0x9c]
mov eax, dword [ebp - 4]
mov ecx, dword [edi + 0x64]
mov edx, dword [eax + 0x38]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x46f499
mov ax, word [edx]
cmp ax, word [edi + 0xa0]
jne 0x46f499
cmp esi, 1
je 0x4716ec
mov ax, word [edx + 2]
cmp ax, word [edi + 0xa2]
je 0x4716ec
mov eax, dword [ebp - 4]
cmp word [edi + 0x4c], 0
je case.0x46f29f.13
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, 2
cmp ecx, eax
jne case.0x46f29f.13
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x98], 0
jne 0x46f4e8
cmp dword [eax + 0x9c], 2
jne 0x46f4e8
mov edi, dword [ebp + 0x18]
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne case.0x46f29f.13
mov eax, edi
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x46f52e
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x46f526
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x46f514
cmp dword [eax + 0x34], 0
je 0x46f526
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, dword [ebp + 0x18]
jmp 0x4716ec
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
add dword [eax + 0x38], 2
mov ecx, dword [eax + 0x38]
test esi, esi
je 0x4711f9
cmp ecx, dword [edi + 0x64]
jae 0x4711f9
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4711f6
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x46f5bd
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x46f5b5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x46f5a3
cmp dword [eax + 0x34], 0
je 0x46f5b5
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, dword [ebp + 0x18]
jmp case.0x46f29f.162
mov eax, dword [ebp - 4]
add dword [eax + 0x38], 2
add dword [eax], 2
jmp 0x46f27b
mov eax, dword [ebp - 4]
test esi, esi
je 0x46f685
mov dword [eax + 0xc], 1
mov ecx, 0xfc00
add dword [eax], 2
mov eax, dword [eax]
mov ax, word [eax]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov eax, dword [ebp - 4]
jne 0x46f5fe
inc dword [eax + 0xc]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 0x38]
mov edx, dword [edi + 0x64]
mov eax, edx
sub eax, ecx
sar eax, 1
cmp esi, eax
jbe 0x46f647
cmp ecx, edx
jb 0x4716ec
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x46f640
cmp ecx, dword [eax + 0x6c]
ja 0x46f62e
cmp dword [eax + 0x34], 0
je 0x46f640
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, eax
jmp 0x4716ec
test esi, esi
mov esi, dword [ebp - 8]
je 0x46f27b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax]
movzx edx, word [ecx]
movzx esi, word [eax]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
cmp si, dx
jne 0x4716ec
add dword [eax + 0xc], 0xffffffff
jne 0x46f655
mov esi, dword [ebp - 8]
jmp 0x46f27b
mov esi, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jge 0x46f6ab
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x46f526
cmp esi, dword [eax + 0x6c]
jmp 0x46f50c
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
movzx ecx, word [esi]
mov eax, dword [eax]
movzx edx, word [eax + 2]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dx, cx
je 0x46f6cf
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
add dword [eax], 4
mov esi, dword [ebp - 8]
jmp 0x46f278
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
test esi, esi
je 0x46f802
mov dword [eax + 0xc], 1
add dword [eax], 2
mov ecx, dword [eax]
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x46f736
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, dword [ebp - 4]
add edx, 0x10000
inc dword [eax + 0xc]
jmp 0x46f739
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp edx, 0x80
jae 0x46f774
movzx ecx, word [eax]
cmp ecx, 0xff
ja 0x46f756
mov eax, dword [edi + 0x38]
movzx ecx, byte [eax + ecx]
mov eax, dword [edi + 0x38]
movzx eax, byte [eax + edx]
cmp eax, ecx
jne case.0x46f29f.162
mov eax, dword [ebp - 4]
add dword [eax], 2
add dword [eax + 0x38], 2
jmp 0x46f27b
movzx esi, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x46f7b0
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add esi, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0xc]
add eax, eax
add dword [ebx], eax
cmp esi, edx
je 0x46f334
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7c4804]
add eax, edx
cmp esi, eax
mov esi, dword [ebp - 8]
je 0x46f278
xor eax, eax
jmp case.0x471731.35
cmp dword [ebp - 0x20], 0
je 0x46f8a8
mov edi, dword [eax + 0x38]
mov eax, dword [eax]
movzx edx, word [edi]
movzx esi, word [eax + 2]
cmp esi, 0x80
jae 0x46f848
cmp edx, 0xff
ja 0x46f832
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
movzx eax, byte [eax + esi]
cmp eax, edx
je 0x46f88f
mov edi, dword [ebp + 0x18]
jmp 0x4716ec
cmp edx, esi
je 0x46f88f
mov eax, esi
test eax, eax
jns 0x46f855
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x46f871
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7c4804]
add eax, esi
cmp edx, eax
jne 0x46f526
mov ecx, dword [ebp - 4]
lea eax, [edi + 2]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 4
jmp 0x46f27b
mov eax, dword [eax]
mov ecx, 0xff
cmp word [eax + 2], cx
mov eax, dword [ebp - 4]
mov eax, dword [eax]
ja 0x46f8cc
movzx ecx, word [eax + 2]
mov eax, dword [edi + 0x38]
movzx edx, byte [ecx + eax]
mov ecx, 0xff
jmp 0x46f8d0
movzx edx, word [eax + 2]
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
movzx eax, word [esi]
cmp ax, cx
ja 0x46f8e7
mov ecx, eax
mov eax, dword [edi + 0x38]
movzx eax, byte [eax + ecx]
cmp edx, eax
jne 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [esi + 2]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 4
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
test esi, esi
je 0x46fa05
add dword [eax], 2
mov eax, dword [eax]
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x46f95e
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add edx, 0x10000
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx esi, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x46f9a0
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
add esi, 0x10000
mov dword [ebx + 0x38], eax
cmp edx, esi
jne 0x46f9ae
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
cmp byte [eax + 0x31], 0x20
jne 0x46f67d
cmp edx, 0x7f
jbe 0x46f9ee
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x7c4804]
jmp 0x46f9f5
mov eax, dword [edi + 0x3c]
movzx edx, byte [eax + edx]
cmp edx, esi
mov esi, dword [ebp - 8]
jne 0x46f27b
jmp case.0x46f29f.162
cmp dword [ebp - 0x20], 0
je 0x46fa7c
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp - 4]
movzx esi, word [eax]
add eax, 2
mov dword [ecx + 0x38], eax
mov eax, ecx
mov eax, dword [eax]
movzx edx, word [eax + 2]
mov eax, ecx
add dword [eax], 4
cmp edx, esi
je 0x4716ec
cmp byte [eax + 0x31], 0x20
jne 0x46f67d
cmp edx, 0x7f
jbe 0x46f9ee
mov eax, edx
test eax, eax
jns 0x46fa47
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x46fa63
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x7c4804]
jmp 0x46f9f5
mov eax, dword [eax]
mov ebx, dword [ebp - 4]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, edx
je 0x46fac0
mov eax, ebx
cmp byte [eax + 0x31], 0x20
jne 0x46fab5
cmp ecx, 0xff
ja 0x46fab1
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, ebx
cmp ecx, edx
je 0x46fabd
add dword [eax], 4
jmp 0x46f278
mov ebx, dword [ebp - 4]
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
add dword [eax], 4
jmp 0x46fbb4
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x46fbb1
mov dword [ebp - 0xc], 1
jmp 0x46faea
mov dword [ebp - 0xc], 0
jmp 0x46faea
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x46fbb1
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x46fbb1
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
add dword [eax], 2
jmp 0x46fbb1
mov eax, dword [ebp - 4]
cmp dl, 0x2e
mov ecx, dword [eax]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
movzx edx, word [ecx]
sub edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov ebx, dword [edx*4 + 0x7c3f9c]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x7c3e7c]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x7c3d0c]
mov dword [ecx + 0x24], eax
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
test esi, esi
je 0x46ff81
mov dword [eax + 0xc], 1
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov eax, ecx
mov ecx, dword [eax]
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x46fc02
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, dword [ebp - 4]
add edx, 0x10000
inc dword [eax + 0xc]
jmp 0x46fc05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
add eax, eax
add dword [ecx], eax
mov eax, ecx
cmp dword [eax + 0xc], 1
jbe 0x46ff7c
cmp byte [eax + 0x31], 0x2e
jb 0x46fc68
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x7c4804]
add ecx, edx
cmp ecx, edx
je 0x46fc65
mov edx, dword [ebp - 4]
add edx, 0x32
call fcn.00483f50
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x14], eax
mov eax, ecx
jmp 0x46fc6f
mov eax, dword [ebp - 4]
mov dword [eax + 0x14], 0
cmp dword [eax + 0x20], 1
mov dword [ebp - 0x28], 1
jb 0x46fd9a
mov ecx, dword [ebp + 0x18]
mov edi, dword [eax + 0xc]
add edi, edi
mov ebx, dword [ecx + 0x64]
mov ecx, dword [eax + 0x38]
mov eax, ebx
sub eax, edi
mov dword [ebp - 0x18], ecx
cmp ecx, eax
ja 0x46fcfc
mov eax, dword [ebp - 4]
mov esi, edi
mov edx, dword [eax + 8]
sub esi, 4
jb 0x46fcb7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46fcc0
add ecx, 4
add edx, 4
sub esi, 4
jae 0x46fca6
cmp esi, 0xfffffffc
je 0x46fd77
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46fcf9
cmp esi, 0xfffffffd
je 0x46fd77
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46fcf9
cmp esi, 0xfffffffe
je 0x46fd77
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46fcf9
cmp esi, 0xffffffff
je 0x46fd77
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x46fd77
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x46fef2
lea edi, [eax + eax]
sub ebx, edi
cmp ecx, ebx
ja 0x46fef2
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
sub esi, 4
jb 0x46fd35
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46fd3a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x46fd24
cmp esi, 0xfffffffc
je 0x46fd77
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46fef2
cmp esi, 0xfffffffd
je 0x46fd77
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46fef2
cmp esi, 0xfffffffe
je 0x46fd77
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46fef2
cmp esi, 0xffffffff
je 0x46fd77
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x46fef2
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, edi
inc edx
mov dword [ecx + 0x38], eax
mov eax, ecx
mov dword [ebp - 0x28], edx
cmp edx, dword [eax + 0x20]
jbe 0x46fc80
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov ebx, dword [ebp + 0x14]
cmp eax, dword [ecx + 0x24]
je 0x46f27b
cmp dword [ebp - 0xc], 0
je 0x47785b
mov eax, ecx
mov ebx, ecx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ecx
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x28], eax
cmp eax, dword [ebx + 0x24]
jae 0x46ff6a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov edi, dword [eax + 0xc]
mov ebx, dword [ecx + 0x64]
add edi, edi
mov ecx, dword [eax + 0x38]
mov eax, ebx
sub eax, edi
mov dword [ebp - 0x18], ecx
cmp ecx, eax
ja 0x46fe5a
mov eax, dword [ebp - 4]
mov esi, edi
mov edx, dword [eax + 8]
sub esi, 4
jb 0x46fe11
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46fe1a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x46fe00
cmp esi, 0xfffffffc
je 0x46fecd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46fe57
cmp esi, 0xfffffffd
je 0x46fecd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46fe57
cmp esi, 0xfffffffe
je 0x46fecd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46fe57
cmp esi, 0xffffffff
je 0x46fecd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x46fecd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x46ff29
lea edi, [eax + eax]
sub ebx, edi
cmp ecx, ebx
ja 0x46ff29
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
sub esi, 4
jb 0x46fe93
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46fe98
add ecx, 4
add edx, 4
sub esi, 4
jae 0x46fe82
cmp esi, 0xfffffffc
je 0x46fecd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46ff29
cmp esi, 0xfffffffd
je 0x46fecd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46ff29
cmp esi, 0xfffffffe
je 0x46fecd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46ff29
cmp esi, 0xffffffff
je 0x46fecd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x46ff29
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, edi
inc edx
mov dword [ecx + 0x38], eax
mov eax, ecx
mov dword [ebp - 0x28], edx
cmp edx, dword [eax + 0x24]
jb 0x46fdd1
mov edi, dword [ebp + 0x18]
jmp 0x46ff67
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jb 0x46ff22
cmp word [ecx + 0x4c], 0
je 0x46ff22
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x46ff14
cmp dword [eax + 0x34], 0
je 0x46ff22
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, ecx
jmp 0x4716ec
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x46ff67
cmp word [edi + 0x4c], 0
je 0x46ff67
cmp eax, dword [edi + 0x6c]
mov eax, edi
ja 0x46ff4b
cmp dword [eax + 0x34], 0
je 0x46ff65
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
jbe 0x46ff67
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, eax
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov esi, dword [ebp - 8]
je 0x46f278
jmp 0x47659a
mov dword [eax + 0x28], edx
jmp 0x46ff8f
mov eax, dword [eax]
movzx eax, word [eax]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 4]
add dword [eax], 2
cmp byte [eax + 0x31], 0x2e
jb 0x47010e
test esi, esi
jne 0x46ffa2
cmp dword [ebp - 0x20], esi
je 0x46ffef
mov edx, dword [eax + 0x28]
cmp edx, 0x7f
jbe 0x46ffef
mov eax, edx
test eax, eax
jns 0x46ffb3
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x46ffcf
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
mov ecx, dword [ebp - 4]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7c4804]
add eax, edx
mov dword [ecx + 0x2c], eax
mov eax, ecx
jmp 0x470007
mov ecx, dword [eax + 0x28]
cmp ecx, 0xff
ja 0x470004
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], ecx
mov edx, 1
cmp dword [eax + 0x20], edx
jb 0x470046
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x470037
cmp dword [ebx + 0x2c], eax
jne 0x46f7fb
lea eax, [ecx + 2]
inc edx
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, dword [eax + 0x20]
jbe 0x470011
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f278
cmp dword [ebp - 0xc], 0
je 0x475d10
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x4700e6
jmp 0x470083
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4700b2
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x4700a1
cmp dword [ebx + 0x2c], eax
jne 0x4700e9
lea eax, [ecx + 2]
inc edx
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, dword [eax + 0x24]
jb 0x470080
jmp 0x4700e6
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x47010a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x4700d2
cmp dword [eax + 0x34], 0
je 0x47010a
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, ecx
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
je 0x46f278
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
jne 0x477755
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
mov edi, eax
jmp 0x4700e6
mov edi, 1
cmp dword [eax + 0x20], edi
jb 0x47014c
nop dword [eax + eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47018f
mov eax, dword [ebp - 4]
mov ebx, eax
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne 0x470182
mov eax, ebx
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x470120
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f275
cmp dword [ebp - 0xc], 0
je 0x475d69
mov edi, dword [ebp + 0x18]
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x4701ff
jmp 0x4701a4
mov edi, dword [ebp + 0x18]
xor eax, eax
mov esi, dword [ebp - 8]
jmp case.0x471731.35
mov eax, ecx
cmp word [eax + 0x4c], 0
je 0x46f526
jmp 0x46f501
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4701cd
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
jne 0x470202
lea eax, [ecx + 2]
inc edx
mov dword [ebx + 0x38], eax
mov eax, ebx
cmp edx, dword [eax + 0x24]
jb 0x4701a1
jmp 0x4701ff
mov eax, edi
cmp word [eax + 0x4c], 0
je 0x470223
mov eax, dword [ebp - 4]
mov ecx, edi
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x4701eb
cmp dword [eax + 0x34], 0
je 0x470223
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, ecx
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
je 0x46f278
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x477760
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
mov edi, eax
jmp 0x4701ff
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
add dword [eax], 4
jmp 0x470350
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x47034d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x47034d
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x47034d
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x47034d
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
add dword [eax], 2
jmp 0x47034d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x47034d
mov eax, dword [ebp - 4]
cmp dl, 0x48
mov ecx, dword [eax]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
movzx edx, word [ecx]
sub edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov ebx, dword [edx*4 + 0x7c3f9c]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x7c3e7c]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x7c3d0c]
mov dword [ecx + 0x24], eax
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
movzx eax, word [eax]
mov dword [ecx + 0x28], eax
mov eax, ecx
add dword [eax], 2
mov edx, dword [eax]
test esi, esi
je 0x47039d
mov ecx, dword [eax + 0x28]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47039a
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, 0x10000
mov dword [ecx + 0x28], eax
mov eax, ecx
add dword [eax], 2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x48
jb 0x470652
test esi, esi
jne 0x4703b0
cmp dword [ebp - 0x20], esi
je 0x4703fd
mov edx, dword [eax + 0x28]
cmp edx, 0x7f
jbe 0x4703fd
mov eax, edx
test eax, eax
jns 0x4703c1
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4703dd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
mov ecx, dword [ebp - 4]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x7c4804]
add eax, edx
mov dword [ecx + 0x2c], eax
mov eax, ecx
jmp 0x470415
mov ecx, dword [eax + 0x28]
cmp ecx, 0xff
ja 0x470412
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], ecx
test esi, esi
je 0x4704d7
mov esi, 1
cmp dword [eax + 0x20], esi
jb 0x470499
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47047e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4716ec
cmp dword [eax + 0x2c], ecx
je 0x4716ec
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x470430
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f278
cmp dword [ebp - 0xc], 0
je 0x477626
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
test esi, esi
je 0x4705cd
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4705b5
jmp 0x470523
mov edx, 1
cmp dword [eax + 0x20], edx
jb 0x47049c
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x46f7fb
cmp dword [ebx + 0x2c], eax
je 0x46f7fb
lea eax, [ecx + 2]
inc edx
mov dword [ebx + 0x38], eax
mov eax, ebx
cmp edx, dword [eax + 0x20]
jbe 0x4704e1
jmp 0x47049c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x470589
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470569
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4705b2
cmp dword [eax + 0x2c], ecx
je 0x4705b2
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x470520
jmp 0x4705b2
mov eax, ecx
cmp word [eax + 0x4c], 0
je 0x4705b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x4705a5
cmp dword [eax + 0x34], 0
je 0x4705b2
mov dword [eax + 0x2c], esi
cmp word [eax + 0x4c], si
ja 0x46ff59
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
je 0x46f27b
mov ebx, dword [ebp - 4]
jmp 0x47665a
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x47063c
jmp 0x4705da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x470608
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x47063f
cmp dword [ebx + 0x2c], eax
je 0x47063f
lea eax, [ecx + 2]
inc edx
mov dword [ebx + 0x38], eax
mov eax, ebx
cmp edx, dword [eax + 0x24]
jb 0x4705d7
jmp 0x47063c
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x47064e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x470628
cmp dword [eax + 0x34], 0
je 0x47064e
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, ecx
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
je 0x46f278
jmp 0x475de1
mov edi, eax
jmp 0x47063c
test esi, esi
je 0x470702
mov esi, 1
cmp dword [eax + 0x20], esi
jb 0x4706c4
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4706b2
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4716ec
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x470664
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f278
cmp dword [ebp - 0xc], 0
je 0x47763c
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
test esi, esi
je 0x4707f9
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4707e1
jmp 0x470754
mov edi, 1
cmp dword [eax + 0x20], edi
jb 0x470749
nop dword [eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47018f
mov eax, dword [ebp - 4]
mov ebx, eax
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x470182
mov eax, ebx
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x470710
mov edi, dword [ebp + 0x18]
jmp 0x4706c4
mov edi, dword [ebp + 0x18]
jmp 0x4706c7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x4707b5
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47079a
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4707de
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x470751
jmp 0x4707de
mov eax, ecx
cmp word [eax + 0x4c], 0
je 0x4707de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x4707d1
cmp dword [eax + 0x34], 0
je 0x4707de
mov dword [eax + 0x2c], esi
cmp word [eax + 0x4c], si
ja 0x46ff59
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
je 0x46f27b
mov ebx, dword [ebp - 4]
jmp 0x47670e
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x470861
jmp 0x470806
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x47082f
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x470864
lea eax, [ecx + 2]
inc edx
mov dword [ebx + 0x38], eax
mov eax, ebx
cmp edx, dword [eax + 0x24]
jb 0x470803
jmp 0x470861
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x470861
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x47084f
cmp dword [eax + 0x34], 0
je 0x470861
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x18]
je 0x46f278
jmp 0x475e4c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
add eax, 2
mov dword [ecx + 8], eax
mov eax, ecx
add dword [eax], 0x22
mov edx, dword [eax]
movzx ecx, word [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x4708a1
movzx eax, byte [eax + 0x477fec]
jmp dword [eax*4 + 0x477fe4]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x7c3cf4]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x7c3b84]
mov dword [edx + 0x24], eax
mov edx, dword [ecx*4 + 0x7c3e14]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edx
jmp 0x470923
mov ecx, dword [ebp - 4]
movzx eax, word [edx + 2]
mov dword [ecx + 0x20], eax
mov eax, ecx
mov ecx, 0xffffffff
mov eax, dword [eax]
movzx eax, word [eax + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
mov ebx, dword [eax*4 + 0x7c3e14]
lea eax, [ecx + 6]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [ecx], eax
mov eax, ecx
jmp 0x470923
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
mov edi, 1
test esi, esi
je 0x4709d4
cmp dword [eax + 0x20], edi
jb 0x470a41
nop dword [eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47018f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx esi, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470991
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add esi, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
cmp esi, 0xff
jbe 0x4709a8
cmp byte [eax + 0x31], 0x6e
je 0x46f526
jmp 0x4709c6
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x46f526
mov eax, dword [ebp - 4]
inc edi
cmp edi, dword [eax + 0x20]
mov eax, dword [ebp - 4]
ja 0x470a3e
jmp 0x470940
cmp dword [eax + 0x20], edi
jb 0x470a41
nop dword [eax]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47018f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx esi, word [eax]
add eax, 2
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, 0xff
jbe 0x470a17
cmp byte [eax + 0x31], 0x6e
je 0x46f526
jmp 0x470a35
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x46f526
mov eax, dword [ebp - 4]
inc edi
cmp edi, dword [eax + 0x20]
mov eax, dword [ebp - 4]
jbe 0x4709e0
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f275
cmp dword [ebp - 0xc], 0
je 0x477652
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov ebx, dword [eax + 0x20]
test esi, esi
je 0x470b4f
cmp ebx, dword [eax + 0x24]
jae 0x470b34
jmp 0x470a83
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov edi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x470b08
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx esi, word [ecx]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470ac9
movzx eax, word [ecx + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov edi, 2
add esi, 0x10000
mov eax, dword [ebp - 4]
cmp esi, 0xff
jbe 0x470ada
cmp byte [eax + 0x31], 0x6e
jmp 0x470aef
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x470b31
mov ecx, dword [ebp - 4]
lea eax, [edi + edi]
inc ebx
add dword [ecx + 0x38], eax
mov eax, ecx
cmp ebx, dword [eax + 0x24]
jb 0x470a80
jmp 0x470b31
mov eax, ecx
cmp word [eax + 0x4c], 0
je 0x470b31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x470b24
cmp dword [eax + 0x34], 0
je 0x470b31
mov dword [eax + 0x2c], edi
cmp word [eax + 0x4c], di
ja 0x46ff59
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x46f275
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x477c39
cmp ebx, dword [eax + 0x24]
jae 0x470be0
jmp 0x470b63
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x470baf
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x38]
movzx esi, word [edi]
cmp esi, 0xff
jbe 0x470b85
cmp byte [eax + 0x31], 0x6e
jmp 0x470b9a
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x470bdd
mov ecx, dword [ebp - 4]
lea eax, [edi + 2]
inc ebx
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp ebx, dword [eax + 0x24]
jb 0x470b60
jmp 0x470bdd
mov eax, ecx
cmp word [eax + 0x4c], 0
je 0x470bdd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x470bcb
cmp dword [eax + 0x34], 0
je 0x470bdd
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x18]
je 0x46f278
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x46f6c5
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x18
jmp 0x477c39
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
add eax, 4
mov dword [ecx + 8], eax
mov eax, ecx
mov eax, dword [eax]
movzx eax, word [eax + 2]
add eax, eax
add dword [ecx], eax
mov eax, ecx
mov edx, dword [eax]
movzx ecx, word [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x470c3a
movzx eax, byte [eax + 0x478000]
jmp dword [eax*4 + 0x477ff8]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x7c3cf4]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x7c3b84]
mov dword [edx + 0x24], eax
mov edx, dword [ecx*4 + 0x7c3e14]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], edx
jmp 0x470cbc
mov ecx, dword [ebp - 4]
movzx eax, word [edx + 2]
mov dword [ecx + 0x20], eax
mov eax, ecx
mov ecx, 0xffffffff
mov eax, dword [eax]
movzx eax, word [eax + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
mov ebx, dword [eax*4 + 0x7c3e14]
lea eax, [ecx + 6]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [ecx], eax
mov eax, ecx
jmp 0x470cbc
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
mov esi, 1
cmp dword [eax + 0x20], esi
jb 0x470d42
mov ebx, dword [ebp - 8]
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x470d25
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470d22
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
push ebx
call fcn.00484020
add esp, 4
test eax, eax
je 0x4716ec
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x470cd0
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f334
cmp dword [ebp - 0xc], 0
je 0x4762e9
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x470e1c
mov ebx, dword [ebp - 8]
jmp 0x470d83
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x470df3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
test ebx, ebx
je 0x470dd0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470dcd
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
push ebx
call fcn.00484020
add esp, 4
test eax, eax
je 0x470e1c
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x470d80
jmp 0x470e1c
mov eax, ecx
cmp word [eax + 0x4c], 0
je 0x470e1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x470e0f
cmp dword [eax + 0x34], 0
je 0x470e1c
mov dword [eax + 0x2c], esi
cmp word [eax + 0x4c], si
ja 0x46ff59
cmp dword [ebp - 0xc], 2
jne 0x4777fc
mov esi, dword [ebp - 8]
jmp 0x46f275
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x470e82
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470e82
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x470f07
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x470f07
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x470eee
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470eee
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x46f7fb
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x46f7fb
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f278
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x470f66
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470f66
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x470f07
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x470f07
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x470fd2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x470fd2
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x46f7fb
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x46f7fb
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f278
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x47104a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47104a
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x470f07
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x470f07
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x4710be
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4710be
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x46f7fb
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x46f7fb
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f278
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x47113a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471137
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
cmp ecx, 0xd
ja 0x4711c6
je 0x47115c
cmp ecx, 0xa
je 0x4711f6
jbe case.0x46f29f.162
cmp ecx, 0xc
jmp 0x4711e0
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x4711a7
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x4711f4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x6c]
mov eax, ecx
ja 0x471188
cmp dword [eax + 0x34], 0
je 0x4711f4
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
mov edi, ecx
add dword [eax], 2
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp word [eax], 0xa
jne 0x4711f6
mov ecx, dword [ebp - 4]
add eax, 2
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x46f27b
cmp ecx, 0x85
je 0x4711e6
cmp ecx, 0x2027
jbe case.0x46f29f.162
cmp ecx, 0x2029
ja case.0x46f29f.162
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4e], 2
je 0x46f5b5
mov edi, eax
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x471259
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471256
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x4712a3
je case.0x46f29f.162
cmp ecx, 0xa0
ja 0x47128f
je case.0x46f29f.162
cmp ecx, 9
je case.0x46f29f.162
cmp ecx, 0x20
je case.0x46f29f.162
add dword [eax], 2
jmp 0x46f27b
cmp ecx, 0x1680
je case.0x46f29f.162
add dword [eax], 2
jmp 0x46f27b
cmp ecx, 0x205f
ja 0x4712dd
je case.0x46f29f.162
cmp ecx, 0x2000
jb 0x4711f9
cmp ecx, 0x200a
jbe case.0x46f29f.162
cmp ecx, 0x202f
je case.0x46f29f.162
add dword [eax], 2
jmp 0x46f27b
cmp ecx, 0x3000
je case.0x46f29f.162
add dword [eax], 2
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x471349
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471346
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x47137b
je 0x46f5c4
cmp ecx, 0xa0
ja 0x471373
je 0x46f5c4
cmp ecx, 9
je 0x46f5c4
cmp ecx, 0x20
jmp 0x4713af
cmp ecx, 0x1680
jmp 0x4713af
cmp ecx, 0x205f
ja 0x4713a9
je 0x46f5c4
cmp ecx, 0x2000
jb case.0x46f29f.162
cmp ecx, 0x200a
jbe 0x46f5c4
cmp ecx, 0x202f
jmp 0x4713af
cmp ecx, 0x3000
je 0x46f5c4
jmp case.0x46f29f.162
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x47140e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47140e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x471439
je 0x46f7fb
cmp ecx, 0xa
jb 0x470f07
cmp ecx, 0xd
jbe 0x46f7fb
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f278
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x470f07
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
test esi, esi
je 0x4714a3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4714a3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x4714ca
je 0x470f07
cmp ecx, 0xa
jb 0x46f7fb
cmp ecx, 0xd
jbe 0x470f07
xor eax, eax
jmp case.0x471731.35
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x46f7fb
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f278
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
test esi, esi
je 0x471539
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471539
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea esi, [eax + eax*2]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
cmp eax, 0xa
ja case.0x475f16.15
jmp dword [eax*4 + 0x47800c]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0xf
jne 0x4717ad
jmp 0x4716ec
mov al, byte [esi*4 + 0x7c4801]
cmp al, 9
je 0x47159d
cmp al, 5
je 0x47159d
cmp al, 8
je 0x47159d
xor ecx, ecx
jmp 0x4715a2
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp byte [ebx + 0x31], 0xf
sete al
cmp ecx, eax
jne 0x4717aa
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
xor edx, edx
movzx ecx, byte [esi*4 + 0x7c4801]
mov eax, dword [eax]
movzx eax, word [eax + 4]
cmp eax, dword [ecx*4 + 0x7ddc68]
mov ebx, dword [ebp - 4]
setne dl
xor eax, eax
cmp byte [ebx + 0x31], 0x10
sete al
cmp edx, eax
jne 0x4717aa
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
mov eax, dword [ebp - 4]
xor edx, edx
movzx ecx, byte [esi*4 + 0x7c4801]
mov eax, dword [eax]
cmp word [eax + 4], cx
jmp 0x4715da
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [eax]
movzx eax, byte [esi*4 + 0x7c4800]
cmp word [ecx + 4], ax
jmp 0x4715da
movzx eax, byte [esi*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x47159d
cmp eax, 3
je 0x47159d
xor ecx, ecx
jmp 0x4715a2
cmp edx, 0x180e
ja 0x471684
je case.0x4716a0.8192
cmp edx, 0x85
ja 0x471674
je case.0x4716a0.8192
cmp edx, 9
jb case.0x4716a0.8203
cmp edx, 0xd
jbe case.0x4716a0.8192
cmp edx, 0x20
jmp 0x4716b5
cmp edx, 0xa0
je case.0x4716a0.8192
cmp edx, 0x1680
jmp 0x4716b5
cmp edx, 0x202f
ja 0x4716a7
je case.0x4716a0.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4716a0.8203
movzx eax, byte [edx + 0x478040]
jmp dword [eax*4 + 0x478038]
cmp edx, 0x205f
je case.0x4716a0.8192
cmp edx, 0x3000
je case.0x4716a0.8192
movzx eax, byte [esi*4 + 0x7c4801]
xor ecx, ecx
mov ebx, dword [ebp - 4]
cmp dword [eax*4 + 0x7ddc68], 6
sete cl
xor eax, eax
cmp byte [ebx + 0x31], 0xf
sete al
cmp ecx, eax
jmp 0x4715eb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0xf
jne 0x4717aa
mov esi, dword [ebp - 8]
xor eax, eax
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x70]
jbe 0x4716ff
mov dword [edi + 0x70], ecx
cmp dword [ebx + 0x18], 0
je 0x477dd7
sub ebx, dword [ebx + 0x10]
mov ecx, dword [edi + 0xa8]
mov dword [ebp - 4], ebx
or dword [ecx + 0x3c], 2
movzx ecx, byte [ebx + 0x30]
dec ecx
cmp ecx, 0xdd
ja case.0x475f16.15
movzx ecx, byte [ecx + 0x478158]
jmp dword [ecx*4 + 0x47806c]
movzx eax, byte [esi*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x47159d
cmp eax, 3
je 0x47159d
cmp edx, 0x5f
je 0x47159d
xor ecx, ecx
jmp 0x4715a2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 4]
mov ecx, dword [eax*4 + 0x7c4640]
lea eax, [eax*4 + 0x7c4640]
cmp edx, ecx
jb 0x471791
lea eax, [eax + 4]
cmp edx, ecx
je 0x47179d
mov ecx, dword [eax]
cmp edx, ecx
jae 0x471784
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x10
jmp 0x4716e6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x10
jne 0x4716ec
mov eax, dword [ebp - 4]
add dword [eax], 6
mov esi, dword [ebp - 8]
jmp 0x46f278
cmp edx, 0x24
je 0x47159d
cmp edx, 0x40
je 0x47159d
cmp edx, 0x60
je 0x47159d
cmp edx, 0xa0
jb 0x4717e7
cmp edx, 0xd7ff
jbe 0x47159d
cmp edx, 0xe000
jae 0x47159d
xor ecx, ecx
jmp 0x4715a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x471852
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47184f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
push ecx
push esi
push dword [edi + 0x64]
push dword [edi + 0x5c]
call fcn.00484a60
mov ecx, dword [ebp - 4]
add esp, 0x10
mov dword [ecx + 0x38], eax
cmp eax, dword [edi + 0x64]
jb 0x47189a
cmp word [edi + 0x4c], 0
je 0x47189a
cmp eax, dword [edi + 0x6c]
mov eax, dword [ebp + 0x18]
ja 0x471885
cmp dword [eax + 0x34], 0
je 0x4718a5
mov dword [eax + 0x2c], 1
cmp word [eax + 0x4c], 1
ja 0x46ff59
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f27b
mov edi, eax
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
add dword [eax], 4
jmp 0x4719ad
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov eax, dword [eax]
cmp word [eax], 0x5c
setne dl
add eax, 4
mov dword [ebp - 0xc], edx
mov dword [ecx], eax
jmp 0x4719aa
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x4719aa
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x4719aa
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
add dword [eax], 2
jmp 0x4719aa
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x4719aa
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, word [eax]
add eax, 2
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x7c3d28]
mov ebx, dword [ecx*4 + 0x7c3e48]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x7c3bb8]
mov dword [edx + 0x24], eax
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
movzx eax, word [eax]
mov dword [ecx + 0x28], eax
mov eax, ecx
add dword [eax], 2
mov ecx, dword [eax]
mov eax, dword [eax + 0x28]
cmp eax, 0x10
je 0x4719d4
cmp eax, 0xf
je 0x4719d4
mov eax, dword [ebp - 4]
or edx, 0xffffffff
jmp 0x4719ea
movzx edx, word [ecx]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movzx eax, word [eax]
mov dword [ecx + 0x2c], eax
mov eax, ecx
add dword [eax], 2
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x18], edx
test eax, eax
je 0x4730c8
test edx, edx
js 0x47220d
cmp edx, 0xa
ja case.0x475f16.15
jmp dword [edx*4 + 0x478238]
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x28], 0xf
jne 0x471a20
xor eax, eax
jmp case.0x471731.35
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f583
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
test esi, esi
je 0x471a66
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x471a66
add eax, 2
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x471a30
jmp 0x4730cb
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x471ad7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471ad7
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp eax, 9
je 0x471b12
cmp eax, 5
je 0x471b12
cmp eax, 8
je 0x471b12
xor ecx, ecx
jmp 0x471b17
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471a84
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x471ba3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471ba3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471b50
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x471c63
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471c63
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471c10
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x471d23
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471d23
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4800]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471cd0
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x471de3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471de3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x471e20
cmp eax, 3
je 0x471e20
xor ecx, ecx
jmp 0x471e25
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471d90
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x471eb3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471eb3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x471ef6
je case.0x471f12.8192
cmp ecx, 0x85
ja 0x471ee2
je case.0x471f12.8192
cmp ecx, 9
jb case.0x471f12.8203
cmp ecx, 0xd
jbe case.0x471f12.8192
cmp ecx, 0x20
jmp 0x471f27
cmp ecx, 0xa0
je case.0x471f12.8192
cmp ecx, 0x1680
jmp 0x471f27
cmp ecx, 0x202f
ja 0x471f19
je case.0x471f12.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x471f12.8203
movzx eax, byte [eax + 0x47826c]
jmp dword [eax*4 + 0x478264]
cmp ecx, 0x205f
je case.0x471f12.8192
cmp ecx, 0x3000
je case.0x471f12.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp dword [eax*4 + 0x7ddc68], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
jmp 0x471f81
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x4716ec
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471e60
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], ecx
je 0x471ff3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x471ff3
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
add edx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x472037
cmp eax, 3
je 0x472037
cmp edx, 0x5f
je 0x472037
xor ecx, ecx
jmp 0x47203c
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x471fa0
jmp 0x4730c8
mov esi, 1
cmp eax, esi
jb 0x4730c8
mov ebx, dword [ebp - 8]
nop
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x46f4f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x4720c8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4720c5
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x7c4640]
lea eax, [eax*4 + 0x7c4640]
cmp ecx, edx
jb 0x4720ed
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x472109
mov edx, dword [eax]
cmp ecx, edx
jae 0x4720e0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
jne 0x4716ec
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472070
jmp 0x4730c8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x4716ec
jmp 0x4720fa
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov ebx, eax
mov dword [eax + 0x38], edx
je 0x472183
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x472183
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x24
je 0x4721ae
cmp ecx, 0x40
je 0x4721ae
cmp ecx, 0x60
je 0x4721ae
cmp ecx, 0xa0
jb 0x4721a2
cmp ecx, 0xd7ff
jbe 0x4721ae
cmp ecx, 0xe000
jae 0x4721ae
xor ecx, ecx
jmp 0x4721b3
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472130
jmp 0x4730c8
cmp word [edi + 0x4c], 0
je 0x4716ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x4721f6
cmp dword [edi + 0x34], 0
je 0x4716ec
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
jmp 0x4716ec
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x28]
cmp ecx, 0x16
jne 0x4722d8
lea esi, [ecx - 0x15]
cmp eax, esi
jb 0x4730c8
mov ebx, dword [ebp - 8]
nop word [eax + eax]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x472284
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x472281
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
push ecx
push ebx
push dword [edi + 0x64]
push dword [edi + 0x5c]
call fcn.00484a60
mov ecx, dword [ebp - 4]
add esp, 0x10
mov dword [ecx + 0x38], eax
cmp eax, dword [edi + 0x64]
jb 0x4722c6
cmp word [edi + 0x4c], 0
je 0x4722c6
cmp eax, dword [edi + 0x6c]
ja 0x4722b4
cmp dword [edi + 0x34], 0
je 0x4722c6
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472230
jmp 0x4730c8
add ecx, 0xfffffffa
test esi, esi
je 0x472ae8
cmp ecx, 0xf
ja case.0x475f16.15
jmp dword [ecx*4 + 0x478298]
mov edi, 1
cmp eax, edi
jb 0x4730c5
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov esi, dword [ebx + 0x64]
cmp dword [eax + 0x38], esi
jae 0x472401
mov edx, dword [ebx + 0x98]
mov ecx, dword [eax + 0x38]
test edx, edx
je 0x472340
cmp ecx, esi
jae 0x472378
push dword [ebp - 8]
lea eax, [ebx + 0x9c]
push eax
push esi
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x46f526
jmp 0x472375
mov edx, dword [ebx + 0x9c]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
ja 0x472375
mov ax, word [ecx]
cmp ax, word [ebx + 0xa0]
jne 0x472375
cmp edx, 1
je 0x46f526
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0xa2]
je 0x46f526
mov eax, dword [ebp - 4]
cmp word [ebx + 0x4c], 0
je 0x4723c0
mov eax, dword [eax + 0x38]
add eax, 2
cmp eax, dword [ebx + 0x64]
jb 0x4723c0
cmp dword [ebx + 0x98], 0
jne 0x4723c0
cmp dword [ebx + 0x9c], 2
jne 0x4723c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ax, word [eax]
cmp ax, word [ebx + 0xa0]
jne 0x4723c0
mov dword [ebx + 0x2c], 1
cmp word [ebx + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
add dword [eax + 0x38], 2
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x4723f0
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4723ed
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x472303
mov edi, ebx
jmp 0x4730c8
mov edi, ebx
cmp word [edi + 0x4c], 0
je 0x4716ec
jmp 0x4721e4
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472466
mov eax, dword [ebp - 4]
add dword [eax + 0x38], 2
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x47245b
mov ax, word [ecx]
mov ebx, 0xfc00
and ax, bx
mov ebx, 0xdc00
cmp ax, bx
jne 0x472458
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x472423
jmp 0x4730c8
cmp word [edi + 0x4c], 0
je case.0x46f29f.162
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x472486
cmp dword [edi + 0x34], 0
je case.0x46f29f.162
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
jmp case.0x46f29f.162
lea ecx, [eax + eax]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp edx, eax
ja case.0x46f29f.162
lea eax, [edx + ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47251f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xd
ja 0x472552
je 0x472530
cmp ecx, 0xa
je 0x472574
lea eax, [ecx - 0xb]
jmp 0x472560
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472574
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp word [eax], 0xa
jne 0x472574
mov ecx, dword [ebp - 4]
add eax, 2
mov dword [ecx + 0x38], eax
jmp 0x472574
cmp ecx, 0x85
je 0x472569
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x46f6c5
cmp word [edi + 0x4e], 2
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x4724d1
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4725ee
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x472620
je 0x46f6c5
cmp ecx, 0xa0
ja 0x472618
je 0x46f6c5
cmp ecx, 9
je 0x46f6c5
cmp ecx, 0x20
jmp 0x472650
cmp ecx, 0x1680
jmp 0x472650
cmp ecx, 0x205f
ja 0x47264a
je 0x46f6c5
cmp ecx, 0x2000
jb 0x472656
cmp ecx, 0x200a
jbe 0x46f6c5
cmp ecx, 0x202f
jmp 0x472650
cmp ecx, 0x3000
je 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x4725a0
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4726ce
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x4726f4
je 0x472726
cmp ecx, 0xa0
ja 0x4726ec
je 0x472726
cmp ecx, 9
je 0x472726
cmp ecx, 0x20
jmp 0x472720
cmp ecx, 0x1680
jmp 0x472720
cmp ecx, 0x205f
ja 0x47271a
je 0x472726
cmp ecx, 0x2000
jb 0x46f6c5
cmp ecx, 0x200a
jbe 0x472726
cmp ecx, 0x202f
jmp 0x472720
cmp ecx, 0x3000
jne 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472680
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47279e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x4727b6
je 0x46f6c5
cmp ecx, 0xa
jb 0x4727ca
cmp ecx, 0xd
jmp 0x4727c4
cmp ecx, 0x2028
jb 0x4727ca
cmp ecx, 0x2029
jbe 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472750
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47283e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x472850
je 0x47285f
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x472859
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x4727f0
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4728ce
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x80
jae 0x4728e3
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x46f6c5
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472880
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x4716ec
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x472901
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x47298d
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne 0x4716ec
mov eax, dword [ebp - 4]
lea ecx, [edx + 2]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jae 0x4729b9
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4729b6
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472960
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x4716ec
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x4729d4
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x472a5d
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne 0x4716ec
mov eax, dword [ebp - 4]
lea ecx, [edx + 2]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jae 0x472a89
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x472a86
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x472a30
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x4716ec
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x472aa4
jmp 0x4730c8
cmp ecx, 0xf
ja case.0x475f16.15
jmp dword [ecx*4 + 0x4782d8]
mov edi, 1
cmp eax, edi
jb 0x4730c5
mov ebx, dword [ebp + 0x18]
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov esi, dword [ebx + 0x64]
cmp dword [eax + 0x38], esi
jae 0x472401
mov edx, dword [ebx + 0x98]
mov ecx, dword [eax + 0x38]
test edx, edx
je 0x472b4d
cmp ecx, esi
jae 0x472b85
push dword [ebp - 8]
lea eax, [ebx + 0x9c]
push eax
push esi
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x46f526
jmp 0x472b82
mov edx, dword [ebx + 0x9c]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
ja 0x472b82
mov ax, word [ecx]
cmp ax, word [ebx + 0xa0]
jne 0x472b82
cmp edx, 1
je 0x46f526
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0xa2]
je 0x46f526
mov eax, dword [ebp - 4]
cmp word [ebx + 0x4c], 0
je 0x472bcd
mov eax, dword [eax + 0x38]
add eax, 2
cmp eax, dword [ebx + 0x64]
jb 0x472bcd
cmp dword [ebx + 0x98], 0
jne 0x472bcd
cmp dword [ebx + 0x9c], 2
jne 0x472bcd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ax, word [eax]
cmp ax, word [ebx + 0xa0]
jne 0x472bcd
mov dword [ebx + 0x2c], 1
cmp word [ebx + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
inc edi
add dword [eax + 0x38], 2
cmp edi, dword [eax + 0x20]
jbe 0x472b10
mov edi, ebx
jmp 0x4730c8
lea edx, [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, edx
cmp ecx, eax
jbe 0x472c0a
cmp word [edi + 0x4c], 0
je case.0x46f29f.162
cmp ecx, dword [edi + 0x6c]
jmp 0x47247a
lea eax, [ecx + edx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x4730c8
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472466
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0xd
ja 0x472c75
je 0x472c62
cmp ecx, 0xa
je 0x472ca0
lea eax, [ecx - 0xb]
cmp eax, 1
jmp 0x472c8f
cmp eax, dword [edi + 0x64]
jae 0x472ca0
cmp word [eax], 0xa
jne 0x472ca0
add eax, 2
mov dword [ebx + 0x38], eax
jmp 0x472ca0
cmp ecx, 0x85
je 0x472c95
cmp ecx, 0x2027
jbe 0x46f7fb
cmp ecx, 0x2029
ja 0x46f7fb
cmp word [edi + 0x4e], 2
je 0x46f7fb
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x472c30
jmp 0x4730c8
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
nop
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472466
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x472d10
je 0x46f7fb
cmp ecx, 0xa0
ja 0x472d08
je 0x46f7fb
cmp ecx, 9
je 0x46f7fb
cmp ecx, 0x20
jmp 0x472d40
cmp ecx, 0x1680
jmp 0x472d40
cmp ecx, 0x205f
ja 0x472d3a
je 0x46f7fb
cmp ecx, 0x2000
jb 0x472d46
cmp ecx, 0x200a
jbe 0x46f7fb
cmp ecx, 0x202f
jmp 0x472d40
cmp ecx, 0x3000
je 0x46f7fb
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x472cc0
jmp 0x4730c8
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472466
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x472db4
je 0x472de6
cmp ecx, 0xa0
ja 0x472dac
je 0x472de6
cmp ecx, 9
je 0x472de6
cmp ecx, 0x20
jmp 0x472de0
cmp ecx, 0x1680
jmp 0x472de0
cmp ecx, 0x205f
ja 0x472dda
je 0x472de6
cmp ecx, 0x2000
jb 0x46f7fb
cmp ecx, 0x200a
jbe 0x472de6
cmp ecx, 0x202f
jmp 0x472de0
cmp ecx, 0x3000
jne 0x46f7fb
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x472d70
jmp 0x4730c8
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472466
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x472e3a
je 0x46f7fb
cmp ecx, 0xa
jb 0x472e4e
cmp ecx, 0xd
jmp 0x472e48
cmp ecx, 0x2028
jb 0x472e4e
cmp ecx, 0x2029
jbe 0x46f7fb
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x472e04
jmp 0x4730c8
mov edx, 1
cmp eax, edx
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x472466
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x472ea0
je 0x472eaf
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x472ea9
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x46f7fb
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x20]
jbe 0x472e70
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x472efe
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x472ed0
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x4716ec
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x472f24
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x472fae
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x472f80
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x4716ec
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x472fd4
jmp 0x4730c8
mov esi, 1
cmp eax, esi
mov eax, dword [ebp - 4]
jb 0x4730cb
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x47305e
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x473030
jmp 0x4730c8
mov esi, 1
cmp eax, esi
jb 0x4730c8
mov eax, dword [ebp - 4]
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4721d6
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x4716ec
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x4716ec
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x473080
jmp 0x4730c8
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x46f334
cmp dword [ebp - 0xc], 0
je 0x477668
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x18]
test eax, eax
js 0x4739b0
cmp eax, 0xa
ja case.0x475f16.15
jmp dword [eax*4 + 0x478318]
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x473197
jmp 0x473123
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, 1
cmp eax, dword [edi + 0x64]
jae 0x473172
cmp dword [ebp - 8], 0
je 0x473154
mov eax, dword [ebp - 4]
mov ecx, 0xfc00
mov eax, dword [eax + 0x38]
and cx, word [eax]
mov eax, 0xd800
cmp cx, ax
mov eax, 2
cmove edx, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x473197
mov ecx, dword [ebp - 4]
lea eax, [edx + edx]
inc esi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x473120
mov ebx, ecx
jmp 0x4731ad
cmp word [edi + 0x4c], 0
je 0x473197
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x47318a
cmp dword [edi + 0x34], 0
je 0x473197
mov dword [edi + 0x2c], edx
cmp word [edi + 0x4c], dx
ja 0x46ff59
mov ebx, dword [ebp - 4]
jmp 0x4731ad
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jb 0x4731c3
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
cmp dword [ebp - 0xc], 2
mov esi, dword [ebp - 8]
je 0x46f278
jmp 0x4773b3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x473213
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473213
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp eax, 9
je 0x47324e
cmp eax, 5
je 0x47324e
cmp eax, 8
je 0x47324e
xor ecx, ecx
jmp 0x473253
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x4731c0
jmp 0x4731a7
mov edi, ecx
cmp word [edi + 0x4c], 0
je 0x473197
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x4732a0
cmp dword [edi + 0x34], 0
je 0x473197
mov dword [edi + 0x2c], esi
cmp word [edi + 0x4c], si
ja 0x46ff59
mov ebx, dword [ebp - 4]
jmp 0x4731ad
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x4732d3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x47331f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47331f
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x4732d0
jmp 0x4731a7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x473395
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x4733e5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4733e5
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x473392
jmp 0x4731a7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x473454
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x4734a4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4734a4
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4800]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x473451
jmp 0x4731a7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x473513
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x473563
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473563
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x4735a0
cmp eax, 3
je 0x4735a0
xor ecx, ecx
jmp 0x4735a5
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x473510
jmp 0x4731a7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x4735e4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x473634
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473634
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x473677
je case.0x473697.8192
cmp ecx, 0x85
ja 0x473663
je case.0x473697.8192
cmp ecx, 9
jb case.0x473697.8203
cmp ecx, 0xd
jbe case.0x473697.8192
cmp ecx, 0x20
jmp 0x4736ac
cmp ecx, 0xa0
je case.0x473697.8192
cmp ecx, 0x1680
jmp 0x4736ac
cmp ecx, 0x202f
ja 0x47369e
je case.0x473697.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x473697.8203
movzx eax, byte [eax + 0x47834c]
jmp dword [eax*4 + 0x478344]
cmp ecx, 0x205f
je case.0x473697.8192
cmp ecx, 0x3000
je case.0x473697.8192
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp dword [eax*4 + 0x7ddc68], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jmp 0x4736fc
mov eax, dword [ebp - 4]
mov ebx, eax
cmp dword [eax + 0x28], 0xf
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edi, dword [eax + 0x24]
jb 0x4735e1
jmp 0x4731a7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x473733
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, word [ecx]
je 0x473783
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473783
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x4737c7
cmp eax, 3
je 0x4737c7
cmp edx, 0x5f
je 0x4737c7
xor ecx, ecx
jmp 0x4737cc
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x473730
jmp 0x4731a7
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
mov ebx, dword [ebp - 8]
jmp 0x473813
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x47327e
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
test ebx, ebx
je 0x473864
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473861
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x7c4640]
lea eax, [eax*4 + 0x7c4640]
cmp ecx, edx
jb 0x47388d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x4738b4
mov edx, dword [eax]
cmp ecx, edx
jae 0x473880
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
jne 0x4731a7
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x473810
jmp 0x4731a7
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x4731a7
jmp 0x47389a
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4731a7
jmp 0x4738d7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x473982
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
je 0x473927
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473927
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x473952
cmp ecx, 0x40
je 0x473952
cmp ecx, 0x60
je 0x473952
cmp ecx, 0xa0
jb 0x473946
cmp ecx, 0xd7ff
jbe 0x473952
cmp ecx, 0xe000
jae 0x473952
xor ecx, ecx
jmp 0x473957
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4731aa
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x4738d4
jmp 0x4731a7
mov edi, ecx
cmp word [edi + 0x4c], 0
je 0x473197
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x4739a4
cmp dword [edi + 0x34], 0
je 0x473197
mov dword [edi + 0x2c], esi
cmp word [edi + 0x4c], si
jmp 0x473191
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp eax, 0x16
jne 0x473abe
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x473aa6
mov ebx, dword [ebp - 8]
jmp 0x4739d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x473a7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x473a2b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473a28
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
push ecx
push ebx
push dword [edi + 0x64]
push dword [edi + 0x5c]
call fcn.00484a60
mov ecx, dword [ebp - 4]
add esp, 0x10
mov dword [ecx + 0x38], eax
cmp eax, dword [edi + 0x64]
jb 0x473a6d
cmp word [edi + 0x4c], 0
je 0x473a6d
cmp eax, dword [edi + 0x6c]
ja 0x473a5b
cmp dword [edi + 0x34], 0
je 0x473a6d
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x24]
jb 0x4739d3
jmp 0x473aa6
cmp word [edi + 0x4c], 0
je 0x473aa6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x473a94
cmp dword [edi + 0x34], 0
je 0x473aa6
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
cmp dword [ebp - 0xc], 2
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x14]
je 0x46f27b
mov ebx, dword [ebp - 4]
jmp 0x4775d6
mov esi, dword [ebp - 8]
add eax, 0xfffffffa
test esi, esi
je 0x474363
cmp eax, 0xf
ja case.0x475f16.15
jmp dword [eax*4 + 0x478378]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
nop
mov esi, dword [ebx + 0x64]
cmp dword [eax + 0x38], esi
jae 0x473bf6
mov edx, dword [ebx + 0x98]
mov ecx, dword [eax + 0x38]
test edx, edx
je 0x473b3c
cmp ecx, esi
jae 0x473b6c
push dword [ebp - 8]
lea eax, [ebx + 0x9c]
push eax
push esi
call fcn.00483db0
add esp, 0xc
test eax, eax
je 0x473b69
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x46f278
jmp 0x47736e
mov edx, dword [ebx + 0x9c]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
ja 0x473b69
mov ax, word [ecx]
cmp ax, word [ebx + 0xa0]
jne 0x473b69
cmp edx, 1
je 0x473b24
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0xa2]
je 0x473b24
mov eax, dword [ebp - 4]
cmp word [ebx + 0x4c], 0
je 0x473bb4
mov eax, dword [eax + 0x38]
add eax, 2
cmp eax, dword [ebx + 0x64]
jb 0x473bb4
cmp dword [ebx + 0x98], 0
jne 0x473bb4
cmp dword [ebx + 0x9c], 2
jne 0x473bb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ax, word [eax]
cmp ax, word [ebx + 0xa0]
jne 0x473bb4
mov dword [ebx + 0x2c], 1
cmp word [ebx + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
add dword [eax + 0x38], 2
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x473be4
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x473be1
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc edi
cmp edi, dword [eax + 0x24]
jae 0x473b24
mov eax, dword [ebp - 4]
jmp 0x473af0
mov edi, ebx
cmp word [edi + 0x4c], 0
je 0x473c1f
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x473c0d
cmp dword [edi + 0x34], 0
je 0x473c1f
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov ebx, dword [ebp - 4]
jmp 0x473b2a
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x24]
cmp eax, 0xffffffff
jae 0x473cbe
mov edx, dword [ebx + 0x20]
cmp edx, eax
jae 0x473b2d
mov eax, ebx
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x473c8c
mov eax, dword [ebp - 4]
add dword [eax + 0x38], 2
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x473c7e
mov ax, word [ecx]
mov ebx, 0xfc00
and ax, bx
mov ebx, 0xdc00
cmp ax, bx
jne 0x473c7b
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x24]
jb 0x473c46
mov ebx, dword [ebp - 4]
jmp 0x473b2d
cmp word [edi + 0x4c], 0
je 0x473cb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x473ca4
cmp dword [edi + 0x34], 0
je 0x473cb6
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov ebx, dword [ebp - 4]
jmp 0x473b2d
mov eax, dword [edi + 0x64]
mov dword [ebx + 0x38], eax
cmp word [edi + 0x4c], 0
je 0x473b2d
cmp eax, dword [edi + 0x6c]
ja 0x473cde
cmp dword [edi + 0x34], 0
je 0x473b2d
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
jmp 0x473b2d
mov eax, dword [ebp - 4]
mov edx, dword [edi + 0x64]
mov ecx, dword [eax + 0x24]
sub ecx, dword [eax + 0x20]
mov esi, dword [eax + 0x38]
mov eax, edx
sub eax, esi
sar eax, 1
cmp ecx, eax
jbe 0x473d27
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp word [edi + 0x4c], 0
je 0x473c1f
cmp edx, dword [edi + 0x6c]
jmp 0x473c05
mov ebx, dword [ebp - 4]
lea eax, [esi + ecx*2]
mov dword [ebx + 0x38], eax
jmp 0x473b2a
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x473d53
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473d9a
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0xd
jne 0x473dc3
mov eax, dword [ebp - 4]
add dword [eax + 0x38], 2
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 0x64]
jae 0x473b24
cmp word [eax], 0xa
jne 0x473e02
mov ecx, dword [ebp - 4]
add eax, 2
mov dword [ecx + 0x38], eax
jmp 0x473e02
cmp ecx, 0xa
je 0x473df9
cmp word [ebx + 0x4e], 2
je 0x473b24
cmp ecx, 0xb
je 0x473df9
cmp ecx, 0xc
je 0x473df9
cmp ecx, 0x85
je 0x473df9
cmp ecx, 0x2028
je 0x473df9
cmp ecx, 0x2029
jne 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
add dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc edi
cmp edi, dword [eax + 0x24]
jb 0x473d50
jmp 0x473b24
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jb 0x473e33
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
jmp 0x473b2d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x473f01
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473e7d
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x473ea3
je 0x473ed1
cmp ecx, 0xa0
ja 0x473e9b
je 0x473ed1
cmp ecx, 9
je 0x473ed1
cmp ecx, 0x20
jmp 0x473ecb
cmp ecx, 0x1680
jmp 0x473ecb
cmp ecx, 0x205f
ja 0x473ec5
je 0x473ed1
cmp ecx, 0x2000
jb 0x473ecd
cmp ecx, 0x200a
jbe 0x473ed1
cmp ecx, 0x202f
jmp 0x473ecb
cmp ecx, 0x3000
je 0x473ed1
xor ecx, ecx
jmp 0x473ed6
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0x12
sete al
cmp ecx, eax
je 0x473b27
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x473e30
jmp 0x473b24
mov edi, ecx
cmp word [edi + 0x4c], 0
je 0x473c1f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x474357
cmp dword [edi + 0x34], 0
je 0x473c1f
mov dword [edi + 0x2c], esi
cmp word [edi + 0x4c], si
jmp 0x473c19
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
jmp 0x473f47
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x64]
jae 0x473f01
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x473f8d
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x473fce
je 0x473fd9
cmp ecx, 0xa
jb 0x473fa1
cmp ecx, 0xd
jbe 0x473fd9
xor ecx, ecx
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0x14
sete al
cmp ecx, eax
je 0x473b27
lea eax, [esi + esi]
inc edi
add dword [ebx + 0x38], eax
mov eax, ebx
cmp edi, dword [eax + 0x24]
jb 0x473f44
jmp 0x473b24
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x473fa1
mov ecx, 1
jmp 0x473fa3
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x473ff7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47403e
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x474053
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
jne 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x473ff4
jmp 0x473b24
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x474083
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4740ca
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x473b24
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
je 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x474080
jmp 0x473b24
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x474113
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47415a
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x47416f
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x474110
jmp 0x473b24
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x4741a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4741ea
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x473b24
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
je 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x4741a0
jmp 0x473b24
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x474233
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47427a
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x47428f
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x474230
jmp 0x473b24
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x473e1f
mov ebx, dword [ebp + 0x18]
jmp 0x4742c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov esi, 1
cmp eax, dword [ebx + 0x64]
jae 0x474335
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x474306
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x473b24
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je 0x473b24
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x4742c0
jmp 0x473b24
mov edi, ebx
cmp word [edi + 0x4c], 0
je 0x473c1f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x474357
cmp dword [edi + 0x34], 0
je 0x473c1f
mov dword [edi + 0x2c], esi
cmp word [edi + 0x4c], si
jmp 0x473c19
cmp eax, 0xf
ja case.0x475f16.15
jmp dword [eax*4 + 0x4783b8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x4749ca
mov ebx, dword [ebp + 0x18]
nop word [eax + eax]
mov esi, dword [ebx + 0x64]
cmp dword [eax + 0x38], esi
jae 0x47446a
mov edx, dword [ebx + 0x98]
mov ecx, dword [eax + 0x38]
test edx, edx
je 0x4743dc
cmp ecx, esi
jae 0x47440c
push dword [ebp - 8]
lea eax, [ebx + 0x9c]
push eax
push esi
call fcn.00483db0
add esp, 0xc
test eax, eax
je 0x474409
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x46f278
jmp 0x476243
mov edx, dword [ebx + 0x9c]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
ja 0x474409
mov ax, word [ecx]
cmp ax, word [ebx + 0xa0]
jne 0x474409
cmp edx, 1
je 0x4743c4
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0xa2]
je 0x4743c4
mov eax, dword [ebp - 4]
cmp word [ebx + 0x4c], 0
je 0x474454
mov eax, dword [eax + 0x38]
add eax, 2
cmp eax, dword [ebx + 0x64]
jb 0x474454
cmp dword [ebx + 0x98], 0
jne 0x474454
cmp dword [ebx + 0x9c], 2
jne 0x474454
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ax, word [eax]
cmp ax, word [ebx + 0xa0]
jne 0x474454
mov dword [ebx + 0x2c], 1
cmp word [ebx + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
inc edi
add dword [eax + 0x38], 2
cmp edi, dword [eax + 0x24]
jae 0x4743c4
jmp 0x474390
mov edi, ebx
cmp word [edi + 0x4c], 0
je 0x4743c7
jmp 0x4749a1
mov eax, dword [ebp - 4]
mov edx, dword [edi + 0x64]
mov ecx, dword [eax + 0x24]
sub ecx, dword [eax + 0x20]
mov esi, dword [eax + 0x38]
mov eax, edx
sub eax, esi
sar eax, 1
cmp ecx, eax
jbe 0x4744ae
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
cmp word [edi + 0x4c], 0
je 0x4743c7
cmp edx, dword [edi + 0x6c]
jmp 0x4749a7
mov ebx, dword [ebp - 4]
lea eax, [esi + ecx*2]
mov dword [ebx + 0x38], eax
jmp 0x4743ca
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x47457b
jmp 0x4744d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x474551
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp eax, 0xd
jne 0x47450d
mov ebx, dword [ebp - 4]
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
cmp eax, dword [edi + 0x64]
jae 0x4743cd
cmp word [eax], 0xa
jne 0x474541
add eax, 2
mov dword [ebx + 0x38], eax
jmp 0x474541
cmp eax, 0xa
je 0x474538
cmp word [edi + 0x4e], 2
je 0x47457b
cmp eax, 0xb
je 0x474538
cmp eax, 0xc
je 0x474538
cmp eax, 0x85
je 0x474538
cmp eax, 0x2028
je 0x474538
cmp eax, 0x2029
jne 0x47457b
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc edx
cmp edx, dword [eax + 0x24]
jb 0x4744d0
mov ebx, eax
jmp 0x4743cd
cmp word [edi + 0x4c], 0
je 0x47457b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x474569
cmp dword [edi + 0x34], 0
je 0x47457b
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov ebx, dword [ebp - 4]
jmp 0x4743cd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x47457b
jmp 0x474593
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x474551
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp eax, 0x180e
ja 0x4745c7
je 0x47457b
cmp eax, 0xa0
ja 0x4745c0
je 0x47457b
cmp eax, 9
je 0x47457b
cmp eax, 0x20
jmp 0x4745ea
cmp eax, 0x1680
jmp 0x4745ea
cmp eax, 0x205f
ja 0x4745e5
je 0x47457b
cmp eax, 0x2000
jb 0x4745ec
cmp eax, 0x200a
jbe 0x47457b
cmp eax, 0x202f
jmp 0x4745ea
cmp eax, 0x3000
je 0x47457b
lea eax, [ecx + 2]
inc edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp edx, dword [eax + 0x24]
jb 0x474590
mov ebx, ecx
jmp 0x4743cd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x47457b
jmp 0x474618
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x474551
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp eax, 0x180e
ja 0x474650
je 0x47467d
cmp eax, 0xa0
ja 0x474649
je 0x47467d
cmp eax, 9
je 0x47467d
cmp eax, 0x20
jmp 0x474677
cmp eax, 0x1680
jmp 0x474677
cmp eax, 0x205f
ja 0x474672
je 0x47467d
cmp eax, 0x2000
jb 0x47457b
cmp eax, 0x200a
jbe 0x47467d
cmp eax, 0x202f
jmp 0x474677
cmp eax, 0x3000
jne 0x47457b
lea eax, [ecx + 2]
inc edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp edx, dword [eax + 0x24]
jb 0x474615
mov ebx, ecx
jmp 0x4743cd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x47457b
jmp 0x4746a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x474551
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp eax, 0x85
ja 0x4746d5
je 0x47457b
cmp eax, 0xa
jb 0x4746e7
cmp eax, 0xd
jmp 0x4746e1
cmp eax, 0x2028
jb 0x4746e7
cmp eax, 0x2029
jbe 0x47457b
lea eax, [ecx + 2]
inc edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp edx, dword [eax + 0x24]
jb 0x4746a6
mov ebx, ecx
jmp 0x4743cd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x47457b
jmp 0x474713
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x474551
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx eax, word [ecx]
cmp eax, 0x85
ja 0x474739
je 0x474747
add eax, 0xfffffff6
cmp eax, 3
jmp 0x474741
add eax, 0xffffdfd8
cmp eax, 1
ja 0x47457b
lea eax, [ecx + 2]
inc edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp edx, dword [eax + 0x24]
jb 0x474710
mov ebx, ecx
jmp 0x4743cd
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x4743c7
jmp 0x474773
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4747b3
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x47479d
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x4743c7
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x474770
jmp 0x4743c7
cmp word [edi + 0x4c], 0
je 0x4743c7
jmp 0x47499e
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x4743c7
jmp 0x4747d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4747b3
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x4743c7
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x4743c7
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x4747d4
jmp 0x4743c7
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x4743c7
jmp 0x474833
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4747b3
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x474861
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne 0x4743c7
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x474830
jmp 0x4743c7
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x4743c7
jmp 0x474893
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4747b3
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x4743c7
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x4743c7
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x474890
jmp 0x4743c7
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x4743c7
jmp 0x4748f3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x4747b3
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x474921
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne 0x4743c7
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x4748f0
jmp 0x4743c7
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x4743c7
jmp 0x474953
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x474997
mov eax, dword [ebp - 4]
mov ecx, 0xff
mov edx, dword [eax + 0x38]
movzx eax, word [edx]
cmp ax, cx
ja 0x4743c7
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x4743c7
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
inc esi
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x24]
jb 0x474950
jmp 0x4743c7
cmp word [edi + 0x4c], 0
je 0x4749d5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x4749b3
cmp dword [edi + 0x34], 0
je 0x4743c7
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
jmp 0x4743c7
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp - 4]
jmp 0x4743cd
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
jmp 0x4743cd
mov ecx, dword [ebp - 4]
xor eax, eax
cmp dl, 0x74
sete al
mov dword [ecx + 0x28], eax
mov eax, ecx
mov eax, dword [eax]
movzx edx, word [eax + 4]
mov eax, ecx
mov eax, dword [eax]
movzx ecx, word [eax + 2]
movzx eax, word [edi + 0x52]
imul ecx, eax
mov eax, dword [edi + 0x54]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 4]
add dword [eax], 6
test edx, edx
je 0x474a6f
mov ebx, eax
nop word [eax + eax]
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
cmp eax, dword [ebx + 0x50]
jae 0x474a3a
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne 0x474a6c
movzx eax, word [edi + 0x52]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x474a20
jmp 0x474a6c
mov ecx, dword [ebp - 4]
xor eax, eax
cmp dl, 0x72
sete al
mov dword [ecx + 0x28], eax
mov eax, ecx
mov eax, dword [eax]
movzx eax, word [eax + 2]
lea eax, [eax*2 - 2]
mov dword [ecx + 0x14], eax
mov eax, ecx
add dword [eax], 4
mov eax, dword [ebp - 4]
mov edx, dword [eax]
movzx ecx, word [edx]
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x474a87
movzx eax, byte [eax + 0x478400]
jmp dword [eax*4 + 0x4783f8]
mov ebx, dword [ecx*4 + 0x7c3e14]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x7c3cf4]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x7c3b84]
mov dword [edx + 0x24], eax
mov eax, edx
jmp 0x474af0
mov ecx, dword [ebp - 4]
movzx eax, word [edx + 2]
mov dword [ecx + 0x20], eax
mov eax, ecx
mov eax, dword [eax]
movzx ecx, word [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov eax, dword [eax]
movzx eax, word [eax]
mov eax, dword [eax*4 + 0x7c3e14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
test ecx, ecx
jne 0x474aed
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 6
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x14]
cmp eax, dword [edx + 0x50]
jae 0x474b15
mov ecx, dword [edx + eax*4 + 0x54]
cmp ecx, 0xffffffff
je 0x474b15
mov ebx, dword [ebp + 0x14]
cmp ecx, dword [edx + eax*4 + 0x58]
je 0x46f27b
mov eax, edx
jmp 0x474b35
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
cmp dword [eax + 0x20], 0
je 0x46f27b
test dword [edi + 0x8c], 0x200
jne 0x46f27b
mov esi, 1
cmp dword [eax + 0x20], esi
jb 0x474b6b
nop
mov edx, dword [eax + 0x28]
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [eax + 0x14]
push edi
push eax
call fcn.0046eeb0
add esp, 0xc
test eax, eax
jne 0x474bbb
mov ecx, dword [ebp - 4]
inc esi
mov eax, dword [ebp - 0x30]
add eax, eax
add dword [ecx + 0x38], eax
mov eax, ecx
cmp esi, dword [eax + 0x20]
jbe 0x474b40
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 0x24]
je 0x46f278
cmp dword [ebp - 0xc], 0
je 0x477747
mov eax, ebx
mov ecx, ebx
mov edx, ebx
mov esi, 1
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + ecx*4 + 0x58]
sub eax, dword [edx + ecx*4 + 0x54]
mov dword [edx + 0xc], eax
mov eax, ebx
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x475bd9
mov ebx, dword [ebp + 0x18]
jmp 0x474be3
jle 0x474bc6
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x4716ec
jmp 0x4721d6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x28]
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [eax + 0x14]
push ebx
push eax
call fcn.0046eeb0
add esp, 0xc
test eax, eax
jne 0x474c18
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, dword [ecx + 0xc]
cmovne esi, edx
add eax, eax
add dword [ecx + 0x38], eax
inc edi
mov eax, ecx
cmp edi, dword [eax + 0x24]
jb 0x474be0
jmp 0x474c3e
jle 0x474c3b
cmp word [ebx + 0x4c], 0
je 0x474c3b
mov eax, dword [ebx + 0x64]
cmp eax, dword [ebx + 0x6c]
jbe 0x474c3b
mov dword [ebx + 0x2c], 1
cmp word [ebx + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
test esi, esi
je 0x4776a1
mov eax, dword [ebp - 4]
mov edi, ebx
jmp 0x475bdc
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
push edi
push eax
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x14]
call fcn.0046eeb0
add esp, 0xc
test eax, eax
je 0x474c8a
jle 0x474c76
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb case.0x46f29f.162
jmp 0x472466
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
add eax, eax
add dword [ecx + 0x38], eax
jmp 0x46f278
mov eax, dword [ebp - 4]
add dword [eax], 2
mov ecx, dword [eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
cmp word [ecx], 0x78
je 0x474ca2
lea eax, [ecx + 4]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x46f27b
cmp dword [edi + 0x30], 0
mov eax, dword [ebp - 4]
jne 0x474cd4
cmp dword [eax + 0x18], 0
jne 0x47579c
mov dword [eax + 0x20], 0
jmp 0x477a23
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
call fcn.0046edc0
add esp, 4
test eax, eax
jg case.0x46f29f.162
js 0x4716f1
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
add eax, eax
add dword [ecx], eax
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov eax, dword [eax]
cmp word [eax + ecx*2], 0x78
je 0x474d2f
lea eax, [ecx - 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 4]
add dword [eax], 4
mov eax, dword [eax]
movzx eax, word [eax]
cmp eax, 0x76
je 0x474d44
cmp eax, 0x77
jne 0x474d75
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
call fcn.0046edc0
add esp, 4
test eax, eax
jg case.0x46f29f.162
js 0x4716f1
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
lea eax, [ecx + ecx]
add dword [edx], eax
mov eax, edx
sub dword [eax + 0xc], ecx
jmp 0x474d78
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, word [ecx]
add eax, 0xffffff70
cmp eax, 0x12
ja case.0x474d92.150
movzx eax, byte [eax + 0x478424]
jmp dword [eax*4 + 0x478408]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
cmp edx, 0xffffffff
je 0x474eaa
movzx eax, word [ecx + 2]
cmp eax, 0xffff
je case.0x474d92.149
cmp eax, edx
jne case.0x474d92.148
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx eax, word [eax]
movzx eax, byte [eax + 0x7ddce0]
jmp 0x474eb0
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x44]
cmp esi, 0xffffffff
je case.0x474d92.148
mov eax, dword [eax]
movzx edx, word [ecx + 4]
movzx edi, word [edi + 0x52]
movzx ecx, word [eax + 2]
mov eax, dword [ebp + 0x18]
imul ecx, edi
mov eax, dword [eax + 0x54]
lea ecx, [eax + ecx*2]
test edx, edx
je 0x474ea4
movzx eax, word [ecx]
xor ebx, ebx
dec edx
cmp eax, esi
sete bl
cmp eax, esi
je 0x474e1a
lea ecx, [ecx + edi*2]
test edx, edx
jg 0x474e04
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
test ebx, ebx
je case.0x474d92.148
mov eax, dword [edx]
movzx eax, word [eax]
movzx eax, byte [eax + 0x7ddce0]
jmp 0x474eb0
movzx eax, word [ecx + 2]
mov edx, dword [ebp - 4]
lea eax, [eax*2 - 2]
cmp eax, dword [edx + 0x50]
jae case.0x474d92.148
cmp dword [edx + eax*4 + 0x54], 0xffffffff
jne 0x47749e
jmp case.0x474d92.148
mov eax, dword [ebp - 4]
movzx edx, word [ecx + 4]
movzx esi, word [edi + 0x52]
mov eax, dword [eax]
movzx ecx, word [eax + 2]
mov eax, dword [edi + 0x54]
imul ecx, esi
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 4]
test edx, edx
je 0x474eaa
mov edi, dword [eax + 0x50]
nop dword [eax]
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
cmp eax, edi
jae 0x474e9d
mov ebx, dword [ebp - 4]
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne 0x477498
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x474e80
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
add eax, eax
add dword [edx], eax
cmp byte [edx + 0x31], 0x8f
mov ebx, dword [edx]
mov eax, dword [ebp - 4]
je 0x47771f
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx edx, word [eax + 2]
test esi, esi
je 0x474f29
test edx, edx
je 0x474f10
nop
mov eax, dword [ebp - 4]
dec edx
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x60]
jbe case.0x46f29f.162
add ecx, 0xfffffffe
mov dword [eax + 0x38], ecx
mov ax, word [ecx]
and ax, word [ebp - 0x38]
cmp ax, word [ebp - 0x3c]
jne 0x474f0c
lea eax, [ecx - 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
test edx, edx
jne 0x474ee0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x6c]
jae 0x474f1e
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 4]
add dword [eax], 4
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x5c]
sar eax, 1
cmp edx, eax
jg case.0x46f29f.162
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x474f13
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
cmp word [ecx], 0x78
je 0x474f50
jmp 0x46f27b
mov eax, dword [ebp - 4]
mov ecx, 0x86
mov edi, dword [ebp - 4]
mov eax, dword [eax]
mov ebx, dword [edi]
movzx eax, word [eax + 2]
add eax, eax
sub ebx, eax
movzx eax, word [ebx]
cmp ax, cx
je 0x475004
mov ecx, 0x8a
cmp ax, cx
je 0x475004
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x10]
mov eax, edi
add ecx, dword [eax + 0x4c]
mov esi, ecx
mov dword [ebp - 0x14], ecx
sub esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x475009
mov eax, edi
mov eax, dword [eax + 0x50]
shl eax, 2
push eax
mov eax, edi
add eax, 0x54
push eax
lea eax, [esi + 0x54]
push eax
call fcn.00628270
mov eax, edi
mov ebx, edi
add esp, 0xc
mov eax, dword [eax + 0x50]
mov dword [esi + 0x50], eax
mov eax, edi
mov eax, dword [eax + 0x40]
mov dword [esi + 0x40], eax
mov eax, edi
mov edi, dword [ebp + 0x18]
sub eax, esi
mov esi, dword [ebp - 8]
mov dword [ebx + 0x10], eax
mov eax, 1
jmp case.0x471731.35
mov ecx, dword [ebp - 0x14]
xor esi, esi
movzx eax, word [ebx]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x47501f.134
movzx eax, byte [eax + 0x478454]
jmp dword [eax*4 + 0x478438]
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x475037
mov dword [edi + 0x70], eax
mov ecx, dword [ebp - 4]
mov eax, dword [esi + 0x38]
mov dword [ecx + 0x38], eax
jmp 0x475169
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x475056
mov dword [edi + 0x70], eax
mov ecx, dword [ebp - 4]
mov eax, dword [esi + 0x38]
mov dword [ecx + 0x38], eax
jmp 0x475064
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
sub eax, esi
mov dword [ecx + 0x10], eax
mov eax, dword [esi]
movzx eax, word [eax + 2]
lea ecx, [eax + eax]
mov eax, dword [esi]
cmp word [ecx + eax], 0x78
jne 0x475169
add ecx, eax
nop word [eax + eax]
mov dword [esi], ecx
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x475090
jmp 0x475169
mov edi, dword [ebp + 0x18]
mov eax, 1
mov esi, dword [ebp - 8]
jmp 0x4716f1
mov eax, dword [ebp - 4]
push dword [ebp - 8]
mov ecx, dword [esi + 0x38]
mov edx, dword [eax + 0x38]
call fcn.004844c0
mov edi, dword [ebp + 0x18]
add esp, 4
test eax, eax
jne 0x475169
jmp 0x4716ec
movzx eax, word [ebx + 4]
cmp dword [edi + 0x44], eax
jne 0x47512a
mov ebx, dword [ebp + 0x14]
mov esi, ecx
sub esi, ebx
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
mov eax, dword [ebp - 4]
add eax, 0x54
push eax
call fcn.00628270
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [esi + 0x50]
mov edi, dword [ebp + 0x18]
mov dword [ecx + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi]
mov esi, dword [ebp - 8]
add eax, 4
mov dword [ecx], eax
jmp 0x46f27b
mov ecx, dword [ebp + 0x18]
lea edx, [eax + eax]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x38]
sub eax, dword [ecx + 0x5c]
lea ecx, [edx - 2]
sar eax, 1
mov dword [edi + ecx*4 + 0x54], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x5c]
mov edi, dword [ebp - 4]
sar eax, 1
mov dword [edi + ecx*4 + 0x58], eax
mov eax, edi
mov edi, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x50]
jb 0x47516c
mov dword [eax + 0x50], edx
jmp 0x47516c
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
cmp word [eax], 0x7c
jne 0x475197
mov ebx, dword [ebp - 4]
push dword [ebp - 0x2c]
lea eax, [ebx + 0x38]
push eax
lea eax, [esi + 0x38]
push eax
call fcn.00628270
mov esi, dword [ebp - 8]
add esp, 0xc
mov eax, 0xfffffc1a
jmp case.0x471731.35
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x79
je 0x46f6d2
test esi, esi
je 0x4751b7
mov eax, dword [eax + 0x38]
cmp eax, dword [esi + 0x38]
mov eax, dword [ebp - 4]
je 0x46f6d2
cmp byte [eax + 0x31], 0x7b
jne 0x47770a
mov ebx, dword [eax]
add ebx, 4
mov byte [eax + 0x30], 6
jmp 0x477c39
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jne 0x46f7fb
test byte [edi + 0x88], 1
jne 0x46f7fb
add dword [ebx], 2
jmp 0x46f278
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
je 0x4751eb
xor eax, eax
jmp case.0x471731.35
test byte [edi + 0x88], 2
jne case.0x46f29f.162
test byte [edi + 0x8c], 0x10
je case.0x46f29f.23
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x47522d
xor eax, eax
jmp case.0x471731.35
cmp word [edi + 0x4c], 0
je 0x4751eb
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
add dword [ebx], 2
jmp 0x46f278
mov ebx, dword [ebp - 4]
mov esi, dword [edi + 0x64]
cmp dword [ebx + 0x38], esi
jae 0x47533e
mov edx, dword [edi + 0x98]
mov ecx, dword [ebx + 0x38]
test edx, edx
je 0x4752f3
cmp ecx, esi
jae 0x475290
push dword [ebp - 8]
add edi, 0x9c
push edi
push esi
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x475329
mov edi, dword [ebp + 0x18]
cmp word [edi + 0x4c], 0
je 0x46f6c5
mov eax, dword [ebx + 0x38]
add eax, 2
cmp eax, dword [edi + 0x64]
jb 0x46f6c5
cmp dword [edi + 0x98], 0
jne 0x46f6c5
cmp dword [edi + 0x9c], 2
jne 0x46f6c5
mov eax, dword [ebx + 0x38]
mov ax, word [eax]
cmp ax, word [edi + 0xa0]
jne 0x46f6c5
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
mov edx, dword [edi + 0x9c]
add edi, 0x9c
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
ja 0x47528d
mov esi, dword [ebp + 0x18]
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne 0x475362
cmp edx, 1
je 0x475329
mov ax, word [ecx + 2]
cmp ax, word [esi + 0xa2]
jne 0x475362
mov ecx, dword [edi]
mov edi, dword [ebp + 0x18]
add ecx, ecx
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp dword [ebx + 0x38], eax
jne 0x475290
cmp word [edi + 0x4c], 0
je 0x475357
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
add dword [ebx], 2
mov esi, dword [ebp - 8]
jmp 0x46f278
mov edi, esi
jmp 0x475290
test byte [edi + 0x88], 1
mov ebx, dword [ebp - 4]
je 0x475384
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jne 0x475384
xor eax, eax
jmp case.0x471731.35
mov esi, dword [edi + 0x5c]
cmp dword [ebx + 0x38], esi
je 0x475357
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jne 0x4753a4
test dword [edi + 0x8c], 0x200000
je 0x46f6c5
mov edx, dword [edi + 0x98]
mov ecx, eax
test edx, edx
je 0x4753d7
cmp ecx, esi
jbe 0x46f6c5
push dword [ebp - 8]
lea eax, [edi + 0x9c]
push eax
push esi
call fcn.00483e50
add esp, 0xc
test eax, eax
jne 0x475357
mov esi, dword [ebp - 8]
jmp case.0x471731.35
mov edi, dword [edi + 0x9c]
lea edx, [edi + edi]
lea eax, [esi + edx]
cmp ecx, eax
jb 0x47542a
sub ecx, edx
mov edx, dword [ebp + 0x18]
mov ax, word [ecx]
cmp ax, word [edx + 0xa0]
jne 0x47541e
cmp edi, 1
mov edi, edx
je 0x475357
mov ax, word [ecx + 2]
cmp ax, word [edi + 0xa2]
je 0x475357
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
mov esi, dword [ebp - 8]
mov edi, edx
xor eax, eax
jmp case.0x471731.35
mov edi, dword [ebp + 0x18]
xor eax, eax
mov esi, dword [ebp - 8]
jmp case.0x471731.35
mov ebx, dword [ebp - 4]
mov esi, dword [edi + 0x64]
cmp dword [ebx + 0x38], esi
jae 0x47550c
mov edx, dword [edi + 0x98]
mov ecx, dword [ebx + 0x38]
test edx, edx
je 0x475474
cmp ecx, esi
jae 0x4754a9
push dword [ebp - 8]
lea eax, [edi + 0x9c]
push eax
push esi
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x475357
jmp 0x4754a9
mov edx, dword [edi + 0x9c]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
ja 0x4754a9
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne 0x4754a9
cmp edx, 1
je 0x475357
mov ax, word [ecx + 2]
cmp ax, word [edi + 0xa2]
je 0x475357
cmp word [edi + 0x4c], 0
je 0x46f6c5
mov eax, dword [ebx + 0x38]
add eax, 2
cmp eax, dword [edi + 0x64]
jb 0x46f6c5
cmp dword [edi + 0x98], 0
jne 0x46f6c5
cmp dword [edi + 0x9c], 2
jne 0x46f6c5
mov eax, dword [ebx + 0x38]
mov ax, word [eax]
cmp ax, word [edi + 0xa0]
jne 0x46f6c5
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
test byte [edi + 0x88], 2
jne 0x46f6c5
cmp word [edi + 0x4c], 0
je 0x475357
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x475345
cmp dword [edi + 0x34], 0
jmp 0x475343
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x5c]
mov ebx, dword [ebp - 4]
lea eax, [eax + ecx*2]
cmp dword [ebx + 0x38], eax
je 0x4751eb
xor eax, eax
jmp case.0x471731.35
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
add dword [ecx], 2
jmp 0x46f27b
mov ebx, dword [ebp - 4]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x60]
je 0x47563d
add edx, 0xfffffffe
test esi, esi
je 0x4755c4
mov cx, word [edx]
mov eax, 0xfc00
and cx, ax
mov esi, 0xdc00
cmp cx, si
lea eax, [edx - 2]
cmovne eax, edx
mov edx, eax
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4755c7
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x4755c7
movzx ecx, word [edx]
cmp edx, dword [edi + 0x6c]
jae 0x4755cf
mov dword [edi + 0x6c], edx
test dword [edi + 0x8c], 0x20000
je 0x475625
cmp ecx, 0x5f
jne 0x4755e5
lea edi, [ecx - 0x5e]
jmp 0x47563f
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x47561e
cmp eax, 3
jne 0x47563d
mov edi, 1
jmp 0x47563f
cmp ecx, 0xff
ja 0x47563d
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x47563d
mov edi, 1
jmp 0x47563f
xor edi, edi
mov esi, dword [ebp + 0x18]
mov eax, dword [esi + 0x64]
cmp dword [ebx + 0x38], eax
jb 0x47569c
cmp word [esi + 0x4c], 0
je 0x475671
mov eax, dword [ebx + 0x38]
cmp eax, dword [esi + 0x6c]
ja 0x47565f
cmp dword [esi + 0x34], 0
je 0x475671
mov dword [esi + 0x2c], 1
cmp word [esi + 0x4c], 1
ja 0x46ff59
xor edx, edx
mov eax, dword [ebx]
xor edx, edi
movzx ecx, word [eax]
add eax, 2
mov dword [ebx], eax
cmp ecx, 5
jne 0x475687
xor edx, 1
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
test edx, edx
je 0x46f278
xor eax, eax
jmp case.0x471731.35
mov edx, dword [ebx + 0x38]
add edx, 2
cmp dword [ebp - 8], 0
je 0x47571a
cmp edx, eax
jae 0x4756c8
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4756c8
add edx, 2
mov esi, dword [ebx + 0x38]
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4756f6
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, dword [ebp + 0x18]
cmp edx, dword [esi + 0x70]
jbe 0x475701
mov dword [esi + 0x70], edx
test dword [esi + 0x8c], 0x20000
je 0x475769
cmp ecx, 0x5f
jne 0x475722
lea edx, [ecx - 0x5e]
jmp 0x475673
mov eax, dword [ebx + 0x38]
movzx ecx, word [eax]
jmp 0x4756f9
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x47575f
cmp eax, 3
jne 0x475671
mov edx, 1
jmp 0x475673
cmp ecx, 0xff
ja 0x475671
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je 0x475671
mov edx, 1
jmp 0x475673
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
movzx ecx, word [eax + 2]
mov eax, dword [edx]
lea eax, [eax + ecx*2]
mov dword [edx + 4], eax
mov ecx, dword [edx]
cmp word [eax], 0x78
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
je 0x477713
mov esi, dword [ebp - 8]
lea eax, [ecx + eax*2]
mov dword [edx], eax
jmp 0x46f278
cmp eax, 0xfffffc1f
jne 0x4757f5
mov ecx, dword [ebx]
movzx edx, word [ecx + 2]
lea edx, [ecx + edx*2]
cmp dword [edi + 0x7c], edx
jae case.0x471731.35
cmp word [ecx], 0x78
je 0x4757fd
cmp word [edx], 0x78
jmp 0x4757f7
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx]
movzx eax, word [eax + 2]
add eax, eax
add dword [ebx], eax
mov eax, dword [ebx]
cmp word [eax], 0x78
je 0x477a20
xor eax, eax
jmp case.0x471731.35
cmp eax, 0xfffffc19
je 0x4773ca
test eax, eax
je 0x475834
cmp eax, 0xfffffc1f
jne case.0x471731.35
mov eax, dword [ebx]
movzx eax, word [eax + 2]
add eax, eax
add dword [ebx], eax
mov eax, dword [ebx]
cmp word [eax], 0x78
je 0x477ae7
xor eax, eax
jmp case.0x471731.35
cmp eax, 0xfffffc1f
jg 0x47589a
je 0x47740e
cmp eax, 0xfffffc19
je 0x46f7fb
cmp eax, 0xfffffc1a
jle case.0x471731.35
cmp eax, 0xfffffc1d
jg case.0x471731.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x475881
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x46f278
mov ecx, eax
sub ecx, 0
je 0x47740e
sub ecx, 1
jne case.0x471731.35
xor eax, eax
jmp case.0x471731.35
cmp eax, 0xfffffc1f
jg 0x4758e8
je 0x477456
cmp eax, 0xfffffc19
je 0x47742e
cmp eax, 0xfffffc1a
jle case.0x471731.35
cmp eax, 0xfffffc1d
jg case.0x471731.35
jmp 0x47746f
mov ecx, eax
sub ecx, 0
je 0x477456
sub ecx, 1
jne case.0x471731.35
mov ebx, dword [ebx + 0x20]
mov edx, dword [ebp - 4]
jmp 0x47747a
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx]
movzx eax, word [eax + 2]
neg eax
add eax, eax
add dword [ebx], eax
jmp 0x46f278
test eax, eax
jne case.0x471731.35
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
add dword [eax], 4
jmp 0x46f278
cmp eax, 0xfffffc1a
jne 0x475963
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x477735
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x475952
jmp 0x4759a6
cmp eax, 0xfffffc1f
jne 0x475988
mov ecx, dword [ebx]
movzx edx, word [ecx + 2]
lea edx, [ecx + edx*2]
cmp dword [edi + 0x7c], edx
jae case.0x471731.35
cmp word [ecx], 0x78
je 0x475990
cmp word [edx], 0x78
jmp 0x47598a
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx]
movzx eax, word [eax + 2]
add eax, eax
add dword [ebx], eax
mov ecx, dword [ebx]
cmp word [ecx], 0x78
je 0x4779db
cmp dword [ebx + 0x24], 0
jne 0x4759d4
cmp dword [ebx + 0x28], 0
jne 0x4759d4
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov ecx, dword [ebx + 4]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
je 0x4759c4
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x46f278
test eax, eax
jne case.0x471731.35
add dword [ebx], 2
jmp 0x46f278
mov ecx, dword [ebx + 4]
movzx edx, word [ecx + 2]
lea edx, [ecx + edx*2]
lea ecx, [eax + 0x3e5]
cmp ecx, 4
ja 0x475a3e
mov ecx, dword [ebx + 0x20]
xor ecx, 0x40000
cmp dword [edi + 0x84], ecx
jne 0x475a3e
cmp eax, 0xfffffc1f
jne 0x46f7fb
cmp dword [edi + 0x7c], edx
jae 0x46f7fb
mov eax, dword [ebx + 4]
cmp word [eax], 0x78
je 0x475a46
cmp word [edx], 0x78
je 0x475a46
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov dword [ebx + 4], edx
cmp word [edx], 0x78
je 0x477ab7
xor eax, eax
jmp case.0x471731.35
cmp eax, 0xfffffc1e
jne case.0x471731.35
mov edx, dword [edi + 0x80]
mov edi, dword [ebx]
sub edi, edx
nop
movzx ecx, word [edi + edx + 4]
test cx, cx
jne 0x475a7f
cmp word [edx], cx
je 0x475aa1
movzx esi, word [edx]
add edx, 2
cmp cx, si
je 0x475a70
mov edi, dword [ebp + 0x18]
cmp si, cx
mov esi, dword [ebp - 8]
sbb ecx, ecx
and ecx, 2
add ecx, 0xffffffff
jne case.0x471731.35
mov edi, dword [ebp + 0x18]
mov eax, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
mov dword [edi + 0x80], eax
mov eax, 0xfffffc1d
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
mov eax, 0xfffffc1c
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x80], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
mov eax, 0xfffffc1d
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx]
add eax, 4
mov dword [edi + 0x80], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
mov eax, 0xfffffc1e
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx]
mov dword [edi + 0x7c], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
mov eax, 0xfffffc1f
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jb 0x475b5c
xor eax, eax
jmp case.0x471731.35
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x40]
mov ecx, dword [ebx + 0x14]
push eax
push edi
push ebx
call fcn.0046eeb0
add esp, 0xc
test eax, eax
je 0x47773f
jle 0x475b80
mov eax, dword [edi + 0x64]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x46f7fb
cmp word [edi + 0x4c], 0
je 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x6c]
ja 0x475ba9
cmp dword [edi + 0x34], 0
je 0x46f7fb
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx + 0xc]
neg eax
add eax, eax
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
jmp 0x475bdc
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 4]
jb 0x46f6c5
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x15
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x46f6c5
mov eax, dword [ebx + 4]
mov dword [ebx + 0x38], eax
dec dword [ebx + 0x24]
mov esi, dword [ebx + 0x20]
cmp esi, dword [ebx + 0x24]
jae 0x475c46
mov edi, dword [ebx + 0x38]
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x44]
mov ecx, dword [ebx + 0x14]
push eax
push dword [ebp + 0x18]
push ebx
call fcn.0046eeb0
mov eax, dword [ebp - 0x44]
inc esi
add esp, 0xc
lea edi, [edi + eax*2]
mov dword [ebx + 0x38], edi
cmp esi, dword [ebx + 0x24]
jb 0x475c21
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x477c3c
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
jbe 0x475ca3
cmp byte [ebx + 0x31], 0x6e
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x477c39
mov edx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x475c95
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
jmp 0x470bf0
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx eax, word [eax]
cmp dword [ebx + 0x28], eax
je 0x475d0c
cmp dword [ebx + 0x2c], eax
jne 0x46f7fb
add dword [ebx + 0x38], 2
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x19
jmp 0x477c39
add dword [ebx + 0x38], 0xfffffffe
test eax, eax
jne case.0x471731.35
jmp 0x4700f3
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
mov edx, eax
movzx ecx, word [edx]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne 0x46f6c5
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1b
jmp 0x477c39
add dword [ebx + 0x38], 0xfffffffe
test eax, eax
jne case.0x471731.35
jmp 0x47020c
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx eax, word [eax]
cmp dword [ebx + 0x28], eax
je 0x46f7fb
cmp dword [ebx + 0x2c], eax
je 0x46f7fb
mov eax, dword [ebp - 4]
add dword [ebx + 0x38], 2
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1d
jmp 0x477c39
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
jne 0x47776b
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
mov edx, eax
movzx ecx, word [edx]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x46f6c5
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1f
jmp 0x477c39
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
jne 0x477776
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov ecx, dword [edi + 0x64]
cmp dword [ebx + 0x38], ecx
jae 0x475b8c
cmp dword [ebx + 0x28], 0xc
jne 0x475efb
mov edx, dword [edi + 0x98]
test edx, edx
je 0x475ec3
mov esi, dword [ebx + 0x38]
cmp esi, ecx
jae 0x475efb
push dword [ebp - 8]
lea eax, [edi + 0x9c]
push eax
push ecx
mov ecx, esi
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x46f6c5
jmp 0x475efb
mov esi, dword [edi + 0x9c]
mov edx, dword [ebx + 0x38]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x475efb
mov ax, word [edx]
cmp ax, word [edi + 0xa0]
jne 0x475efb
cmp esi, 1
je 0x46f6c5
mov ax, word [edx + 2]
cmp ax, word [edi + 0xa2]
je 0x46f6c5
mov eax, dword [ebx + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x475f16.15
jmp dword [eax*4 + 0x478468]
cmp ecx, 0xd
ja 0x475f46
je 0x477781
cmp ecx, 0xa
je case.0x475f16.13
jbe 0x46f6c5
cmp ecx, 0xc
jbe 0x475f66
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x85
je 0x475f66
cmp ecx, 0x2027
jbe 0x46f6c5
cmp ecx, 0x2029
ja 0x46f6c5
cmp word [edi + 0x4e], 2
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x180e
ja 0x475fc9
je 0x46f6c5
cmp ecx, 0xa0
ja 0x475fb3
je 0x46f6c5
cmp ecx, 9
je 0x46f6c5
cmp ecx, 0x20
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x1680
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x205f
ja 0x476005
je 0x46f6c5
cmp ecx, 0x2000
jb case.0x475f16.13
cmp ecx, 0x200a
jbe 0x46f6c5
cmp ecx, 0x202f
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x3000
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x180e
ja 0x476069
je case.0x475f16.13
cmp ecx, 0xa0
ja 0x476053
je case.0x475f16.13
cmp ecx, 9
je case.0x475f16.13
cmp ecx, 0x20
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x1680
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x205f
ja 0x4760a5
je case.0x475f16.13
cmp ecx, 0x2000
jb 0x46f6c5
cmp ecx, 0x200a
jbe case.0x475f16.13
cmp ecx, 0x202f
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x3000
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x85
ja 0x4760df
je 0x46f6c5
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x85
ja 0x476122
je case.0x475f16.13
cmp ecx, 0xa
jb 0x46f6c5
cmp ecx, 0xd
jbe case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x2028
jb 0x46f6c5
cmp ecx, 0x2029
jbe case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0xff
ja case.0x475f16.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0xff
ja 0x46f6c5
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0xff
ja case.0x475f16.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0xff
ja 0x46f6c5
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0xff
ja case.0x475f16.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0xff
ja 0x46f6c5
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x475f16.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
cmp dword [ebx + 0x28], 0x11
mov eax, dword [ebx + 0x38]
jne 0x476243
cmp eax, dword [ebx + 4]
jbe 0x476243
cmp word [eax], 0xa
jne 0x476243
cmp word [eax - 2], 0xd
jne 0x476243
add eax, 0xfffffffe
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
jne 0x4777f1
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
mov eax, 0xfffffc1b
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x4762d5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4762d5
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov edx, dword [ebx + 8]
push esi
call fcn.00484020
add esp, 4
test eax, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x64
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x46f7fb
test esi, esi
je 0x4777ff
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4777ff
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4763a2
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
jbe 0x4763c2
cmp byte [ebx + 0x31], 0x6e
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc8
jmp 0x477c39
mov edx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x4763b4
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
ja 0x47780d
mov esi, dword [ebp - 8]
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov esi, dword [ebx + 0xc]
mov ebx, dword [edi + 0x64]
add esi, esi
mov edx, dword [ebp - 4]
mov eax, ebx
sub eax, esi
mov edi, dword [edx + 0x38]
cmp edi, eax
ja 0x476497
mov edx, dword [edx + 8]
mov ecx, edi
sub esi, 4
jb 0x476451
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x47645a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x476440
cmp esi, 0xfffffffc
je 0x47783a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x476497
cmp esi, 0xfffffffd
je 0x47783a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x476497
cmp esi, 0xfffffffe
je 0x47783a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x476497
cmp esi, 0xffffffff
je 0x47783a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x47783a
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14]
test esi, esi
je 0x476517
add esi, esi
mov eax, ebx
sub eax, esi
cmp edi, eax
ja 0x476517
mov edx, dword [ebp - 4]
mov ecx, edi
add edx, 0x32
sub esi, 4
jb 0x4764d1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4764da
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4764c0
cmp esi, 0xfffffffc
je 0x477850
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x476517
cmp esi, 0xfffffffd
je 0x477850
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x476517
cmp esi, 0xfffffffe
je 0x477850
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x476517
cmp esi, 0xffffffff
je 0x477850
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x477850
cmp edi, ebx
jb 0x476551
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4c], 0
je 0x476561
cmp edi, dword [eax + 0x6c]
mov edi, eax
ja 0x476532
cmp dword [edi + 0x34], 0
je 0x476563
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov ebx, dword [ebp - 4]
xor eax, eax
mov esi, dword [ebp - 8]
jmp case.0x471731.35
mov edi, dword [ebp + 0x18]
xor eax, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
jmp case.0x471731.35
mov edi, eax
mov ebx, dword [ebp - 4]
xor eax, eax
mov esi, dword [ebp - 8]
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x47659a
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x477866
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476610
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x46f7fb
cmp dword [ebx + 0x2c], ecx
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcc
jmp 0x477c39
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x47665a
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x477871
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4766cd
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xce
jmp 0x477c39
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x47670e
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x47787c
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
test esi, esi
je 0x47676c
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x47676c
add eax, 2
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd0
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x4767e4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4767e4
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp eax, 9
je 0x47681f
cmp eax, 5
je 0x47681f
cmp eax, 8
je 0x47681f
xor ecx, ecx
jmp 0x476824
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd1
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x4768a3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4768a3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd2
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476959
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476959
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd3
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476a08
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476a08
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4800]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd4
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476ab7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476ab7
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x476af4
cmp eax, 3
je 0x476af4
xor ecx, ecx
jmp 0x476af9
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd5
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476b78
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476b78
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x476bbb
je case.0x476bdb.8192
cmp ecx, 0x85
ja 0x476ba7
je case.0x476bdb.8192
cmp ecx, 9
jb case.0x476bdb.8203
cmp ecx, 0xd
jbe case.0x476bdb.8192
cmp ecx, 0x20
jmp 0x476bf4
cmp ecx, 0xa0
je case.0x476bdb.8192
cmp ecx, 0x1680
jmp 0x476bf4
cmp ecx, 0x202f
ja 0x476be2
je case.0x476bdb.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x476bdb.8203
movzx eax, byte [eax + 0x4784b0]
jmp dword [eax*4 + 0x4784a8]
cmp ecx, 0x205f
je case.0x476bdb.8192
cmp ecx, 0x3000
je case.0x476bdb.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
cmp dword [eax*4 + 0x7ddc68], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd6
jmp 0x477c39
cmp dword [ebx + 0x28], 0xf
jne case.0x477678.6
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx edx, word [eax]
lea ecx, [eax + 2]
mov dword [ebx + 0x38], ecx
test esi, esi
je 0x476cb7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476cb7
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
add edx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x7d95e0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x7c4801]
mov eax, dword [eax*4 + 0x7ddc68]
cmp eax, 1
je 0x476cfb
cmp eax, 3
je 0x476cfb
cmp edx, 0x5f
je 0x476cfb
xor ecx, ecx
jmp 0x476d00
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd7
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476d7f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476d7f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax*4 + 0x7c4640]
lea eax, [eax*4 + 0x7c4640]
cmp ecx, edx
jb 0x476da1
lea eax, [eax + 4]
cmp ecx, edx
je 0x476db9
mov edx, dword [eax]
cmp ecx, edx
jae 0x476d94
cmp dword [ebx + 0x28], 0xf
jne 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd8
jmp 0x477c39
cmp dword [ebx + 0x28], 0xf
jne case.0x477678.9
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476e26
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476e26
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x24
je 0x476e51
cmp ecx, 0x40
je 0x476e51
cmp ecx, 0x60
je 0x476e51
cmp ecx, 0xa0
jb 0x476e45
cmp ecx, 0xd7ff
jbe 0x476e51
cmp ecx, 0xe000
jae 0x476e51
xor ecx, ecx
jmp 0x476e56
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x46f7fb
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd9
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x475b8c
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x476ed5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476ed5
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov edx, dword [ebx + 0x38]
push ecx
push esi
push dword [edi + 0x64]
push dword [edi + 0x5c]
call fcn.00484a60
add esp, 0x10
mov dword [ebx + 0x38], eax
cmp eax, dword [edi + 0x64]
jb 0x476f14
cmp word [edi + 0x4c], 0
je 0x476f14
cmp eax, dword [edi + 0x6c]
ja 0x476f02
cmp dword [edi + 0x34], 0
je 0x476f14
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xda
jmp 0x477c39
test eax, eax
jne case.0x471731.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae 0x46f7fb
mov ecx, dword [edi + 0x64]
cmp dword [ebx + 0x38], ecx
jae 0x475b8c
cmp dword [ebx + 0x28], 0xc
jne 0x476fbe
mov edx, dword [edi + 0x98]
test edx, edx
je 0x476f86
mov esi, dword [ebx + 0x38]
cmp esi, ecx
jae 0x476fbe
push dword [ebp - 8]
lea eax, [edi + 0x9c]
push eax
push ecx
mov ecx, esi
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x46f6c5
jmp 0x476fbe
mov esi, dword [edi + 0x9c]
mov edx, dword [ebx + 0x38]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x476fbe
mov ax, word [edx]
cmp ax, word [edi + 0xa0]
jne 0x476fbe
cmp esi, 1
je 0x46f6c5
mov ax, word [edx + 2]
cmp ax, word [edi + 0xa2]
je 0x46f6c5
mov eax, dword [ebx + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x476ff7
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x475f16.15
jmp dword [eax*4 + 0x4784dc]
cmp ecx, 0xd
ja 0x477036
je 0x477887
cmp ecx, 0xa
je case.0x477006.13
jbe 0x46f6c5
cmp ecx, 0xc
jbe 0x477056
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x85
je 0x477056
cmp ecx, 0x2027
jbe 0x46f6c5
cmp ecx, 0x2029
ja 0x46f6c5
cmp word [edi + 0x4e], 2
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x180e
ja 0x4770b9
je 0x46f6c5
cmp ecx, 0xa0
ja 0x4770a3
je 0x46f6c5
cmp ecx, 9
je 0x46f6c5
cmp ecx, 0x20
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x1680
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x205f
ja 0x4770f5
je 0x46f6c5
cmp ecx, 0x2000
jb case.0x477006.13
cmp ecx, 0x200a
jbe 0x46f6c5
cmp ecx, 0x202f
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x3000
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x180e
ja 0x477159
je case.0x477006.13
cmp ecx, 0xa0
ja 0x477143
je case.0x477006.13
cmp ecx, 9
je case.0x477006.13
cmp ecx, 0x20
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x1680
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x205f
ja 0x477195
je case.0x477006.13
cmp ecx, 0x2000
jb 0x46f6c5
cmp ecx, 0x200a
jbe case.0x477006.13
cmp ecx, 0x202f
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x3000
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x85
ja 0x4771cf
je 0x46f6c5
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x85
ja 0x477212
je case.0x477006.13
cmp ecx, 0xa
jb 0x46f6c5
cmp ecx, 0xd
jbe case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x2028
jb 0x46f6c5
cmp ecx, 0x2029
jbe case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x100
jae case.0x477006.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x100
jae 0x46f6c5
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x100
jae case.0x477006.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x100
jae 0x46f6c5
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x100
jae case.0x477006.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
cmp ecx, 0x100
jae 0x46f6c5
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x477006.13
mov esi, dword [ebp - 8]
xor eax, eax
jmp case.0x471731.35
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov ecx, dword [ebx + 0x38]
test esi, esi
jne 0x4774af
movzx ecx, word [ecx]
jmp 0x4774f8
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x47734f
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0x11
jne 0x47736e
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x47736e
cmp word [eax], 0xa
jne 0x47736e
cmp word [eax - 2], 0xd
jne 0x47736e
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x477908
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
test eax, eax
jne case.0x471731.35
add dword [ebx + 0x38], 0xfffffffe
mov ecx, dword [ebx + 0x38]
test esi, esi
je 0x4773b3
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4773b3
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x477913
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x50]
shl eax, 2
push eax
lea eax, [ecx + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00628270
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ecx + 0x50]
mov dword [ebx + 0x50], eax
mov eax, dword [ecx + 0x40]
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4773f5
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x46f278
mov eax, dword [ebx]
movzx eax, word [eax + 2]
add eax, eax
add dword [ebx], eax
mov ecx, dword [ebx]
cmp word [ecx], 0x78
je 0x477b16
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x46f278
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00628270
mov eax, dword [esi + 0x50]
add esp, 0xc
mov edx, dword [ebp - 4]
mov dword [ebx + 0x50], eax
mov ebx, dword [ebx + 0x20]
jmp 0x47747a
mov eax, dword [ebx + 4]
movzx eax, word [eax + 2]
add eax, eax
add dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp word [eax], 0x78
je 0x4776e0
mov edx, dword [ebp - 4]
xor ebx, ebx
cmp dword [edx + 0x20], ebx
sete bl
test ebx, ebx
je case.0x474d92.148
mov ecx, dword [edx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx], ecx
cmp word [ecx], 0x78
je 0x477484
jmp 0x474e20
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov eax, dword [edx]
movzx eax, word [eax]
movzx eax, byte [eax + 0x7ddce0]
jmp 0x474eb0
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4774ca
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov edx, dword [ebx + 0x38]
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4774f8
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx edi, byte [eax*4 + 0x7c4802]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4775d6
nop dword [eax]
mov edx, dword [ebx + 0x38]
add edx, 0xfffffffe
test esi, esi
jne 0x477542
movzx ecx, word [edx]
jmp 0x477588
mov cx, word [edx]
mov eax, 0xfc00
and cx, ax
mov esi, 0xdc00
cmp cx, si
lea eax, [edx - 2]
cmovne eax, edx
mov edx, eax
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x477588
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x7d95e0]
shl eax, 7
add eax, ecx
mov ecx, edi
movzx eax, word [eax*2 + 0x7c76e0]
lea eax, [eax + eax*2]
movzx esi, byte [eax*4 + 0x7c4802]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x7c456c], eax
je 0x4775d3
mov dword [ebx + 0x38], edx
mov edi, esi
mov esi, dword [ebp - 8]
cmp edx, dword [ebx + 4]
ja 0x477530
mov esi, dword [ebp - 8]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
mov eax, dword [ebp - 4]
ja 0x4778fd
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
jmp 0x46f280
inc dword [edi + 0x90]
mov eax, dword [edi + 0x90]
cmp eax, dword [edi + 0x94]
ja 0x47791e
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx edx, byte [eax + 0x7ddce0]
movzx eax, word [ecx + 2]
add edx, eax
add edx, edx
add dword [ebx], edx
jmp 0x46f278
test esi, esi
jne 0x476622
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1d
jmp 0x477c39
test esi, esi
jne 0x4766d6
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1f
jmp 0x477c39
test esi, esi
jne 0x4763b4
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x477c39
mov eax, dword [ebp - 0x18]
test eax, eax
js 0x47767f
cmp eax, 0xa
ja case.0x475f16.15
jmp dword [eax*4 + 0x47851c]
cmp dword [ebx + 0x28], 0x16
je 0x476f14
cmp dword [ebp - 8], 0
jne case.0x477006.13
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x477c39
mov dword [eax + 0x24], edi
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x477c3c
mov ebx, dword [ebp - 4]
mov eax, dword [ebx]
movzx eax, word [eax]
cmp eax, 0x7e
je 0x4776ca
mov ecx, 0x80
cmp ax, cx
je 0x4776ca
xor eax, eax
jmp 0x4776cf
mov eax, 1
mov dword [ebx + 0x20], eax
mov eax, dword [ebx]
mov dword [ebx + 4], eax
nop word [eax + eax]
mov eax, dword [ebx]
movzx ecx, word [eax]
or ecx, 0x30000
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx + 4]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 5
jmp 0x477c39
mov byte [eax + 0x30], 7
jmp 0x477c39
lea ebx, [ecx + eax*2]
mov byte [edx + 0x30], 1
jmp 0x477c39
movzx ecx, byte [edx + 0x31]
or ecx, 0x20000
mov byte [edx + 0x30], 0x23
mov dword [ebp - 0x10], ecx
jmp 0x477c3c
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x4779db
mov eax, dword [ebp - 0x40]
add eax, eax
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x14
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1a
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1c
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1e
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x20
jmp 0x477c39
cmp edx, dword [edi + 0x64]
jae case.0x475f16.13
cmp word [edx], 0xa
jne case.0x475f16.13
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x477c39
cmp word [edi + 0x4c], 0
je case.0x475f16.13
cmp edx, dword [edi + 0x64]
jb case.0x475f16.13
cmp dword [edi + 0x98], 0
jne case.0x475f16.13
cmp dword [edi + 0x9c], 2
jne case.0x475f16.13
movzx eax, word [edi + 0xa0]
cmp ecx, eax
jne case.0x475f16.13
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x22
jmp 0x477c39
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x477c39
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x470b41
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x477c39
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0xc]
add eax, eax
add dword [ecx + 0x38], eax
mov ebx, dword [ecx]
mov byte [ecx + 0x30], 0xca
jmp 0x477c39
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x14]
add eax, eax
add dword [ecx + 0x38], eax
mov ebx, dword [ecx]
mov byte [ecx + 0x30], 0xca
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcb
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcd
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcf
jmp 0x477c39
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jae case.0x477006.13
cmp word [eax], 0xa
jne case.0x477006.13
add eax, 2
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdb
jmp 0x477c39
cmp word [edi + 0x4c], 0
je case.0x477006.13
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x64]
jb case.0x477006.13
cmp dword [edi + 0x98], 0
jne case.0x477006.13
cmp dword [edi + 0x9c], 2
jne case.0x477006.13
movzx eax, word [edi + 0xa0]
cmp ecx, eax
jne case.0x477006.13
mov dword [edi + 0x2c], 1
cmp word [edi + 0x4c], 1
ja 0x46ff59
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdb
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdc
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdd
jmp 0x477c39
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xde
jmp 0x477c39
mov esi, dword [ebp - 4]
mov ecx, dword [esi]
movzx eax, word [ecx]
movzx edx, byte [eax + 0x7ddce0]
movzx eax, word [ecx + 2]
mov byte [esi + 0x30], 0x11
jmp 0x477c34
mov ecx, dword [ebp - 4]
mov ebx, dword [ecx]
add ebx, 2
mov dword [ecx + 4], ebx
mov byte [ecx + 0x30], 9
jmp 0x477c39
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
add ecx, 2
mov dword [edx + 4], ecx
nop dword [eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx + 4], ecx
cmp word [ecx], 0x78
je 0x477960
lea ebx, [ecx + 4]
mov byte [edx + 0x30], 0xa
jmp 0x477c39
mov ebx, dword [ebp - 4]
mov ecx, 0x89
mov dword [ebx + 0x28], 1
add dword [ebx], 2
mov eax, dword [ebx]
movzx eax, word [eax]
cmp ax, cx
je 0x4779c1
mov ecx, 0x8e
cmp ax, cx
jne 0x4779ae
jmp 0x4779c1
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x20], 0x20000
jmp 0x4779cf
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov eax, dword [ebx]
movzx eax, word [eax + 4]
or eax, 0x10000
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], 0
mov eax, dword [ebx]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 8
jmp 0x477c39
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
movzx eax, word [eax + 4]
or eax, 0x10000
jmp 0x477a1d
mov ecx, dword [ebp - 4]
movzx eax, dl
or eax, 0x20000
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 2
jmp 0x477c39
mov edx, dword [ebp - 4]
mov ecx, dword [edi + 0x58]
mov eax, dword [edx]
movzx eax, word [eax + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x477a5b
xor edi, edi
jmp 0x477a5f
movzx edi, word [ebx + 4]
cmp dword [edx + 0x44], 0xffffffff
je 0x477aa8
mov eax, dword [edx + 0x4c]
cmp eax, 0xffffffff
je 0x477aa8
mov ecx, dword [ebp + 0x18]
mov edx, edi
or edx, 0x40000
mov esi, dword [ecx + 0x10]
nop dword [eax + eax]
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x14]
cmp dword [eax + 0x1c], edx
je 0x477a99
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x477a80
mov edx, dword [ebp - 4]
jmp 0x477aa8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x477dae
mov dword [edx + 4], ebx
or edi, 0x40000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], edi
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx + 4]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xb
jmp 0x477c39
mov ebx, dword [ebp - 4]
movzx eax, dl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 3
jmp 0x477c39
mov ebx, dword [ebp - 4]
movzx eax, dl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 4
jmp 0x477c39
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi]
movzx eax, word [ecx]
movzx edx, byte [eax + 0x7ddce0]
movzx eax, word [ecx + 2]
mov byte [esi + 0x30], 0xc
jmp 0x477c34
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
mov byte [edx + 0x30], 0xd
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
jmp 0x477c39
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi]
movzx eax, word [ecx]
movzx edx, byte [eax + 0x7ddce0]
movzx eax, word [ecx + 2]
mov byte [esi + 0x30], 0x24
jmp 0x477c34
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
mov byte [edx + 0x30], 0xe
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
jmp 0x477c39
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi]
movzx eax, word [ecx]
movzx edx, byte [eax + 0x7ddce0]
movzx eax, word [ecx + 2]
mov byte [esi + 0x30], 0xf
jmp 0x477c34
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
mov byte [edx + 0x30], 0x10
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
jmp 0x477c39
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
mov byte [edx + 0x30], 0x12
movzx eax, byte [eax + 0x7ddce0]
lea ebx, [ecx + eax*2]
jmp 0x477c39
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi]
movzx eax, word [ecx]
movzx edx, byte [eax + 0x7ddce0]
movzx eax, word [ecx + 2]
mov byte [esi + 0x30], 0x13
add edx, eax
lea ebx, [ecx + edx*2]
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
add esi, eax
mov dword [ebp - 0x14], esi
cmp esi, dword [edi + 0x14]
jb 0x477ce2
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x1c]
lea esi, [ecx + ecx]
mov eax, esi
shr eax, 0xa
cmp eax, edx
jbe 0x477c78
mov esi, edx
xor edx, edx
shl esi, 0xa
mov eax, esi
div dword [ebp + 0x14]
sub esi, edx
cmp ecx, esi
jae 0x477dba
push dword [edi + 8]
mov eax, dword [edi]
push esi
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x477dc6
mov eax, dword [ebp + 0x18]
push dword [eax + 0xc]
push dword [eax + 0x10]
push edi
call fcn.00628270
mov eax, dword [ebp + 0x18]
add esp, 0xc
mov edx, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov eax, edi
sub eax, ecx
add edx, eax
mov eax, dword [ebp + 0x14]
add eax, edx
mov dword [ebp - 4], edx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
je 0x477cd0
push dword [edx + 8]
mov eax, dword [edx + 4]
push ecx
call eax
mov edx, dword [ebp + 0x18]
add esp, 8
lea eax, [edi + esi]
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 4]
mov dword [edx + 0xc], esi
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x2c]
add eax, 0x38
push eax
lea eax, [esi + 0x38]
push eax
call fcn.00628270
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], esi
mov eax, dword [eax + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov eax, esi
mov esi, dword [ebp - 8]
jmp 0x46f210
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x68], eax
mov eax, dword [ebx + 0x50]
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x477d3b
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x3c]
sub eax, dword [edi + 0x5c]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x48]
sar eax, 1
mov dword [edi], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x5c]
movzx ecx, word [ebp + 0x10]
sar eax, 1
inc ecx
mov dword [edi + 4], eax
movzx eax, word [ebp + 0xc]
cmp ecx, eax
movzx esi, dx
cmovbe esi, ecx
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 8]
push eax
call fcn.00628270
mov eax, dword [ebx + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x477da2
nop
mov dword [edi + esi*4], 0xffffffff
dec esi
mov ecx, dword [ebx + 0x50]
add ecx, 2
cmp esi, ecx
jae 0x477d90
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffd1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret