Function at 0x6717d084
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x80]
xor edx, edx
push ebx
push ebp
mov ebp, dword [esp + 0x88]
inc edx
mov ecx, dword [eax + 0x8c]
xor ebx, ebx
mov eax, dword [eax + 0x10]
push esi
mov esi, dword [esp + 0x78]
shr ecx, 0x13
and ecx, edx
mov dword [eax + 0x18], ebx
push edi
mov edi, dword [esp + 0x8c]
or edx, 0xffffffff
mov dword [esp + 0x14], ecx
mov dword [eax + 0x48], ebx
mov dword [esp + 0x10], eax
lea ecx, [edi - 0x38]
mov dword [eax + 0x44], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x78], ebx
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x24], 0xfc00
mov dword [esp + 0x20], 0xdc00
mov dword [eax + 0x40], ebx
mov dword [eax + 0x50], ebx
mov dword [eax + 0x4c], edx
mov dword [esp + 0x30], 0xa
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x28], 0xd
mov dword [esp + 0x44], 0x85
mov dword [esp + 0x48], 0x2027
mov dword [esp + 0x34], 0x2000
mov dword [esp + 0x38], 0x200a
mov dword [esp + 0x3c], 0x202f
mov dword [esp + 0x40], 0x205f
mov dword [esp + 0x2c], ecx
mov dword [eax + 0x1c], ebx
mov dword [eax], esi
mov dword [eax + 0x10], edi
test ebx, ebx
je 0x6717d18a
sub eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x4c], eax
mov eax, ebx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x6717d184
movzx eax, bx
mov dword [ecx + 0x44], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x90]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
cmp edx, ecx
jae 0x67185867
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x24]
jae 0x67185863
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
xor ecx, ecx
mov esi, 0xfc00
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov bl, byte [eax]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x31], bl
movzx eax, bl
cmp eax, 0xa6
ja case.0x67184b73.15
movzx eax, byte [eax + 0x671859d0]
jmp dword [eax*4 + 0x67185874]
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x14]
jmp 0x6717d1c6
mov edx, dword [esp + 0x18]
mov ebp, ebx
jmp 0x6717d1c6
mov ebp, ebx
jmp 0x6717d1cb
mov ebp, dword [esp + 0x14]
jmp 0x6717d1cb
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
cmp dword [eax + 0x44], ecx
jne 0x6717d2a7
mov eax, dword [eax]
mov esi, dword [esp + 0x90]
movzx edi, word [eax + 2]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
cmp eax, ecx
je case.0x67184b73.15
mov ecx, dword [esi + 0x10]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [esp + 0x18], ecx
sub edx, dword [esp + 0x8c]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x6717d267
mov eax, dword [edx + 0x4c]
or ecx, 0xffffffff
jmp 0x6717d239
mov eax, dword [esp + 0x10]
lea esi, [edi + edi]
mov ebx, dword [esp + 0x10]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov edi, dword [esp + 0x90]
mov eax, dword [edx + 0x38]
sub eax, dword [edi + 0x5c]
sar eax, 1
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, ebx
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x5c]
sar eax, 1
mov dword [ebx + ecx*4 + 0x58], eax
mov eax, ebx
cmp ecx, dword [eax + 0x50]
jb 0x6717d2a3
mov dword [eax + 0x50], esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
jmp 0x6717ea8e
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x6717d2d0
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x10]
mov esi, 0xfffffc19
mov dword [esp + 0x2c], eax
jmp 0x6717d4ea
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
cmp dword [eax + 0x44], ecx
je 0x6717d344
mov eax, dword [eax + 0x4c]
cmp eax, ecx
je case.0x67184b73.15
mov edx, dword [edi + 0x10]
add edx, eax
mov ecx, edx
mov dword [esp + 0x18], edx
sub ecx, dword [esp + 0x8c]
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x6717d322
mov eax, dword [ecx + 0x4c]
or ecx, 0xffffffff
jmp 0x6717d2f1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
add dword [ecx], 4
xor ecx, ecx
jmp 0x6717d1cb
mov edx, dword [eax + 0x38]
cmp edx, dword [eax + 0x3c]
jne 0x6717d387
mov eax, dword [edi + 0x88]
test al, 4
jne case.0x6717d1ef.162
mov ebp, dword [esp + 0x10]
test al, 8
je 0x6717d38b
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x5c]
lea eax, [eax + ecx*2]
cmp dword [ebp + 0x3c], eax
jne 0x6717d38b
mov edi, dword [esp + 0x90]
xor edx, edx
mov eax, dword [esp + 0x10]
mov esi, edx
jmp 0x6717d4ec
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x671857c0
mov edi, dword [esp + 0x90]
mov eax, dword [eax + 0x8c]
or eax, dword [edi + 0x88]
test eax, 0x20000000
je 0x671857be
test bl, bl
je case.0x6717d1ef.162
xor eax, eax
jmp 0x6718586a
mov eax, dword [esp + 0x90]
mov edi, eax
mov edx, dword [eax + 0x98]
test edx, edx
je 0x6717d405
mov ecx, dword [eax + 0x64]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x38], ecx
jae 0x6717d44a
push ebp
lea eax, [edi + 0x9c]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push dword [eax + 0x38]
call fcn.671a0c6f
add esp, 0x14
test eax, eax
je 0x6717d446
jmp case.0x6717d1ef.162
mov esi, dword [eax + 0x9c]
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x64]
mov edx, dword [eax + 0x38]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x6717d446
mov ax, word [edx]
cmp ax, word [edi + 0xa0]
jne 0x6717d446
xor eax, eax
inc eax
cmp esi, eax
je case.0x6717d1ef.162
mov ax, word [edx + 2]
cmp ax, word [edi + 0xa2]
je case.0x6717d1ef.162
mov eax, dword [esp + 0x10]
xor edx, edx
push 2
pop ebx
cmp word [edi + 0x4c], dx
je 0x6717d4a4
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, ebx
cmp ecx, eax
jne 0x6717d4a4
mov eax, dword [esp + 0x90]
cmp dword [eax + 0x98], edx
jne 0x6717d49d
cmp dword [eax + 0x9c], ebx
jne 0x6717d49d
mov edi, dword [esp + 0x90]
inc edx
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne 0x6717d4a7
mov eax, edi
mov dword [eax + 0x2c], edx
cmp word [eax + 0x4c], dx
ja 0x6717df68
jmp 0x6717d4a7
mov edi, eax
jmp 0x6717d4a4
push 2
pop ebx
xor edx, edx
inc edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x6717d551
mov eax, dword [esp + 0x90]
xor ebp, ebp
cmp word [eax + 0x4c], bp
je 0x6717d4dd
cmp ecx, dword [eax + 0x6c]
ja 0x6717d4d0
cmp dword [eax + 0x34], ebp
je 0x6717d4dd
mov dword [eax + 0x2c], edx
cmp word [eax + 0x4c], dx
ja 0x6717df68
mov edi, dword [esp + 0x90]
mov esi, ebp
mov eax, dword [esp + 0x10]
xor edx, edx
mov ebx, dword [esp + 0x14]
xor ecx, ecx
inc ecx
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x6717d4fe
mov dword [edi + 0x70], eax
mov ebp, dword [esp + 0x10]
cmp dword [ebp + 0x18], edx
je 0x6718584f
sub ebp, dword [ebp + 0x10]
mov eax, dword [edi + 0xa8]
mov dword [esp + 0x10], ebp
or dword [eax + 0x3c], 2
movzx eax, byte [ebp + 0x30]
cmp eax, 0xc8
ja 0x67184052
je 0x67183fc0
cmp eax, 0x14
ja 0x67183941
je 0x671838f1
dec eax
cmp eax, 0x12
ja case.0x67184b73.15
jmp dword [eax*4 + 0x67185a78]
add ecx, 2
mov dword [eax + 0x38], ecx
test ebp, ebp
je 0x6717d583
cmp ecx, dword [edi + 0x64]
jae 0x6717d583
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x6717d57f
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x10]
add dword [eax], ebx
jmp 0x6717ea8e
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x6717d5d1
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717d5ca
cmp eax, dword [edi + 0x6c]
mov eax, dword [esp + 0x90]
ja 0x6717d5af
cmp dword [eax + 0x34], ebp
je 0x6717d5c8
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, dword [esp + 0x90]
jmp 0x6717d5ca
mov edi, eax
mov esi, ebp
jmp 0x6717d4e6
mov ecx, dword [esp + 0x10]
add eax, 2
push 2
mov dword [ecx + 0x38], eax
mov eax, ecx
pop ecx
add dword [eax], ecx
jmp 0x6717d33d
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push 2
test ebx, ebx
je 0x6717d6c5
xor ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
pop ecx
add dword [eax], ecx
mov ecx, 0xd800
mov eax, dword [eax]
mov ax, word [eax]
and ax, si
cmp ax, cx
mov eax, dword [esp + 0x10]
jne 0x6717d620
inc dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
jmp 0x6717d627
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, edx
sar eax, 1
cmp ecx, eax
jbe 0x6717d677
mov eax, dword [esp + 0x90]
xor ebp, ebp
cmp edx, dword [eax + 0x64]
jb 0x6717d663
cmp word [eax + 0x4c], bp
je 0x6717d663
cmp edx, dword [eax + 0x6c]
ja 0x6717d653
cmp dword [eax + 0x34], ebp
je 0x6717d663
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov esi, ebp
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
xor edx, edx
jmp 0x6717d4f0
mov edx, dword [esp + 0x18]
test ecx, ecx
push 0
pop ecx
je 0x6717d20b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax]
push 2
movzx edx, word [ecx]
movzx esi, word [eax]
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
mov eax, ecx
pop ecx
add dword [eax], ecx
cmp si, dx
jne 0x6717d6b8
sub dword [eax + 0xc], 1
jne 0x6717d68a
mov ebp, ebx
jmp 0x6717ea8e
xor edx, edx
mov esi, edx
mov eax, dword [esp + 0x10]
jmp 0x6717d4f0
mov esi, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, esi
and eax, 0xfffffffe
pop ecx
cmp eax, ecx
jge 0x6717d6f0
mov eax, dword [esp + 0x90]
xor ebp, ebp
cmp word [eax + 0x4c], bp
je 0x6717d663
cmp esi, dword [eax + 0x6c]
jmp 0x6717d64c
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
movzx ecx, word [esi]
mov eax, dword [eax]
movzx edx, word [eax + 2]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
mov eax, ebx
cmp dx, cx
je 0x6717da0d
xor edx, edx
mov esi, edx
jmp 0x6717d4ec
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x38]
cmp esi, dword [edi + 0x64]
jb 0x6717d757
mov eax, dword [esp + 0x90]
xor ebp, ebp
cmp word [eax + 0x4c], bp
je 0x6717d4dd
cmp esi, dword [eax + 0x6c]
ja 0x6717d748
cmp dword [eax + 0x34], ebp
je 0x6717d4dd
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
jmp 0x6717d4d7
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x6717d872
xor ecx, ecx
mov edx, 0xfc00
inc ecx
mov ebp, 0x3ff
mov dword [eax + 0xc], ecx
push 2
pop ecx
add dword [eax], ecx
mov ecx, dword [eax]
movzx esi, word [ecx]
mov eax, esi
and eax, edx
mov edx, 0xd800
cmp eax, edx
jne 0x6717d7a6
movzx eax, word [ecx + 2]
and esi, ebp
and eax, ebp
shl esi, 0xa
or esi, eax
mov eax, dword [esp + 0x10]
add esi, 0x10000
inc dword [eax + 0xc]
jmp 0x6717d7aa
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
movzx edx, word [ecx]
cmp esi, 0x80
jae 0x6717d7ea
mov eax, dword [edi + 0x38]
mov ebp, 0xff
cmp edx, ebp
ja 0x6717d7c8
movzx edx, byte [eax + edx]
movzx eax, byte [eax + esi]
cmp eax, edx
mov eax, dword [esp + 0x10]
je 0x6717d7dd
xor edx, edx
mov esi, edx
jmp 0x6717d4f0
push 2
pop ecx
add dword [eax], ecx
add dword [eax + 0x38], ecx
jmp 0x6717d6b1
add ecx, 2
mov dword [eax + 0x38], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717d81a
movzx eax, word [ecx]
and edx, ebp
and eax, ebp
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x10]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
push 0
mov eax, dword [eax + 0xc]
add eax, eax
add dword [ecx], eax
pop ecx
cmp edx, esi
je 0x6717d203
mov eax, esi
shr eax, 7
push 0
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul eax, eax, 0xc
pop ecx
mov eax, dword [eax + 0x6747cdcc]
add eax, esi
cmp edx, eax
mov edx, dword [esp + 0x18]
je 0x6717d207
jmp 0x6717d6b8
mov eax, dword [eax]
mov ebp, 0xff
movzx eax, word [eax + 2]
cmp ax, bp
ja 0x6717d88d
mov ecx, eax
mov eax, dword [edi + 0x38]
movzx edx, byte [eax + ecx]
jmp 0x6717d88f
mov edx, eax
movzx eax, word [esi]
mov ecx, eax
cmp ax, bp
ja 0x6717d8a0
mov eax, dword [edi + 0x38]
movzx ecx, byte [eax + ecx]
cmp edx, ecx
jne 0x6717d6b8
mov ecx, dword [esp + 0x10]
lea eax, [esi + 2]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 4
jmp 0x6717d6b1
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jb 0x6717d8e3
mov eax, dword [esp + 0x90]
xor ebp, ebp
cmp word [eax + 0x4c], bp
je 0x6717d4dd
cmp edx, dword [eax + 0x6c]
jmp 0x6717d73d
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x6717d9d0
push 2
pop ecx
add dword [eax], ecx
mov ebp, 0xd800
mov eax, dword [eax]
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, edx
and eax, esi
cmp eax, ebp
mov ebp, 0x3ff
jne 0x6717d92f
movzx eax, word [ecx]
and edx, ebp
and eax, ebp
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x10]
add edx, 0x10000
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
movzx esi, word [eax]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717d96d
movzx eax, word [ecx]
and esi, ebp
and eax, ebp
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x10]
add esi, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x10]
cmp edx, esi
je 0x6717d7d4
cmp byte [eax + 0x31], 0x20
push 0
pop ecx
jne 0x6717d203
cmp edx, 0x7f
jbe 0x6717d9b5
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul eax, eax, 0xc
add edx, dword [eax + 0x6747cdcc]
jmp 0x6717d9bc
mov eax, dword [edi + 0x3c]
movzx edx, byte [eax + edx]
push 0
cmp edx, esi
mov edx, dword [esp + 0x1c]
pop ecx
jne 0x6717d207
jmp 0x6717d6b8
mov eax, dword [eax]
mov ebx, dword [esp + 0x10]
movzx esi, word [edx]
movzx ecx, word [eax + 2]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp ecx, esi
je case.0x6717d1ef.162
mov eax, ebx
cmp byte [eax + 0x31], 0x20
jne 0x6717da0d
mov edx, 0xff
cmp ecx, edx
ja 0x6717da05
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, ebx
cmp ecx, esi
je case.0x6717d1ef.162
add dword [eax], 4
jmp 0x6717ea8a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
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 0x6717db1a
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov ecx, dword [esp + 0x10]
push 2
pop edx
mov dword [eax + 0x20], ebp
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
jmp 0x6717db1f
xor eax, eax
inc eax
xor ebp, ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x20], ebp
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x6717db1c
xor ebp, ebp
mov dword [esp + 0x1c], ebp
jmp 0x6717da67
mov eax, dword [esp + 0x10]
xor ebp, ebp
push 2
or ecx, 0xffffffff
pop edx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ecx
add dword [eax], edx
jmp 0x6717da51
mov eax, dword [esp + 0x10]
xor ecx, ecx
inc ecx
or ebx, 0xffffffff
push 2
pop edx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ebx
add dword [eax], edx
xor ebp, ebp
mov dword [esp + 0x1c], edx
jmp 0x6717db22
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor ebp, ebp
inc ecx
push 2
pop edx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ecx
add dword [eax], edx
mov dword [esp + 0x1c], edx
jmp 0x6717db22
mov eax, dword [esp + 0x10]
cmp bl, 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 [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x6747aea8]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x6747aed4]
mov dword [ecx + 0x24], eax
mov eax, dword [edx*4 + 0x6747af00]
mov dword [esp + 0x1c], eax
mov eax, ecx
xor ebp, ebp
push 2
pop edx
xor ecx, ecx
inc ecx
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x6717de23
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x10]
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, esi
cmp eax, 0xd800
jne 0x6717db71
movzx eax, word [ecx + 2]
mov ecx, 0x3ff
and edx, ecx
and eax, ecx
shl edx, 0xa
or edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
add edx, 0x10000
inc dword [eax + 0xc]
mov ecx, dword [ecx]
jmp 0x6717db75
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, ecx
xor ecx, ecx
inc ecx
cmp dword [eax + 0xc], ecx
jbe 0x6717de1e
cmp byte [eax + 0x31], 0x2e
jb 0x6717dbd5
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x6747cdcc]
add ecx, edx
cmp ecx, edx
je 0x6717dbd5
mov eax, dword [esp + 0x10]
add eax, 0x32
push eax
push ecx
call fcn.671a0e04
pop ecx
pop ecx
jmp 0x6717dbd7
mov eax, ebp
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x14], eax
xor ecx, ecx
mov eax, dword [esp + 0x10]
inc ecx
mov esi, ecx
mov eax, dword [eax + 0x20]
cmp eax, ecx
jb 0x6717dc96
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
jmp 0x6717dbff
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x64]
add ecx, ecx
sub eax, ecx
cmp edx, eax
ja 0x6717dc39
mov eax, dword [esp + 0x10]
push ecx
push dword [eax + 8]
push edx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6717dc39
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
add eax, eax
add dword [ecx + 0x38], eax
mov eax, ecx
mov edx, dword [eax + 0x38]
jmp 0x6717dc8a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x6717dd15
mov ebx, dword [esp + 0x10]
lea ecx, [eax + eax]
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp dword [ebx + 0x38], eax
ja 0x6717dd15
push ecx
mov eax, ebx
add eax, 0x32
push eax
mov eax, ebx
push dword [eax + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6717dd15
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x14]
add eax, eax
add dword [ecx + 0x38], eax
mov eax, ebx
mov edx, dword [eax + 0x38]
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x6717dbfb
mov ebp, dword [esp + 0x10]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d20f
cmp dword [esp + 0x1c], ecx
je 0x67184121
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x6717ddfc
mov edx, dword [eax + 0x38]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x64]
add ecx, ecx
sub eax, ecx
cmp edx, eax
ja 0x6717dd67
mov eax, dword [esp + 0x10]
push ecx
push dword [eax + 8]
push edx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6717dd67
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
add eax, eax
add dword [ecx + 0x38], eax
mov eax, ecx
mov edx, dword [eax + 0x38]
jmp 0x6717ddac
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x6717dd53
cmp word [edi + 0x4c], bp
je 0x6717dd53
cmp eax, dword [edi + 0x6c]
mov eax, dword [esp + 0x90]
ja 0x6717dd38
cmp dword [eax + 0x34], ebp
je 0x6717dd51
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, dword [esp + 0x90]
jmp 0x6717dd56
mov edi, eax
xor ecx, ecx
inc ecx
mov esi, ebp
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
xor edx, edx
jmp 0x6717d4f3
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x6717ddbc
mov ebx, dword [esp + 0x10]
lea ecx, [eax + eax]
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp dword [ebx + 0x38], eax
ja 0x6717ddbc
push ecx
mov eax, ebx
add eax, 0x32
push eax
mov eax, ebx
push dword [eax + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6717ddbc
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x14]
add eax, eax
add dword [ecx + 0x38], eax
mov eax, ebx
mov edx, dword [eax + 0x38]
inc esi
cmp esi, dword [eax + 0x24]
mov eax, dword [esp + 0x10]
jb 0x6717dcd4
jmp 0x6717ddf8
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x6717ddf8
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x6717ddf8
cmp eax, dword [edi + 0x6c]
mov eax, dword [esp + 0x90]
ja 0x6717dde1
cmp dword [eax + 0x34], ecx
je 0x6717ddf1
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov esi, 0xfc00
mov ebp, dword [esp + 0x14]
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov ecx, dword [eax + 0x38]
jmp 0x6718415b
mov dword [eax + 0x28], edx
jmp 0x6717de36
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [ecx + 0x28], eax
mov eax, ecx
xor ecx, ecx
add dword [eax], edx
inc ecx
cmp byte [eax + 0x31], 0x2e
jb 0x6717dfe0
test ebx, ebx
je 0x6717de88
mov edx, dword [eax + 0x28]
cmp edx, 0x7f
jbe 0x6717de88
mov eax, edx
test eax, eax
jns 0x6717de55
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x6717de71
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x6747cdcc]
add ecx, edx
jmp 0x6717de9b
mov ecx, dword [eax + 0x28]
mov eax, 0xff
cmp ecx, eax
ja 0x6717de9b
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x2c], ecx
xor ecx, ecx
mov eax, dword [eax + 0x20]
inc ecx
mov edx, ecx
cmp eax, ecx
jb 0x6717def3
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp ecx, dword [eax + 0x64]
jae 0x6717df4c
mov ebx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x6717deda
cmp dword [ebx + 0x2c], eax
jne 0x6717d4dd
mov eax, dword [esp + 0x10]
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x6717deb5
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d20f
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x67183a53
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x6717dfa5
mov eax, dword [eax + 0x38]
mov ebx, ebp
cmp eax, dword [edi + 0x64]
jae 0x6717df80
movzx ecx, word [eax]
cmp dword [ebx + 0x28], ecx
je 0x6717df3e
cmp dword [ebx + 0x2c], ecx
jne 0x6717dfa5
add eax, 2
inc edx
mov dword [ebx + 0x38], eax
cmp edx, dword [ebx + 0x24]
jb 0x6717df2c
jmp 0x6717dfa5
cmp word [eax + 0x4c], bp
je 0x6717df6f
cmp ecx, dword [eax + 0x6c]
ja 0x6717df5c
cmp dword [eax + 0x34], ebp
je 0x6717df6f
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
jbe 0x6717df72
push 0xfffffffffffffffe
jmp 0x67185869
xor ecx, ecx
inc ecx
mov esi, ebp
mov edi, dword [esp + 0x90]
jmp 0x6717dd58
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x6717dfa5
cmp eax, dword [edi + 0x6c]
mov eax, dword [esp + 0x90]
ja 0x6717df99
cmp dword [eax + 0x34], ecx
je 0x6717dfa5
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
push 2
pop eax
cmp esi, eax
mov esi, 0xfc00
je 0x6717d33d
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x6717ea8a
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x1a
jmp 0x671856dc
mov eax, dword [eax + 0x20]
mov esi, ecx
cmp eax, ecx
jb 0x6717e023
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x6717e095
mov ebx, dword [esp + 0x10]
movzx eax, word [edx]
add edx, 2
mov dword [ebx + 0x38], edx
cmp dword [ebx + 0x28], eax
mov eax, ebx
jne 0x6717e087
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x6717dff0
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x10]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d20f
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x67183aa8
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x6717e0c9
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp ecx, dword [eax + 0x64]
jae 0x6717e0a7
mov ebp, dword [esp + 0x10]
movzx eax, word [ecx]
cmp dword [ebp + 0x28], eax
jne 0x6717e0cd
mov eax, ebp
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
cmp edx, dword [eax + 0x24]
jb 0x6717e05f
jmp 0x6717e0c9
mov edi, dword [esp + 0x90]
mov esi, ebp
jmp 0x6717d4ea
cmp word [eax + 0x4c], bp
je 0x6717df6f
cmp edx, dword [eax + 0x6c]
jmp 0x6717df55
xor edx, edx
cmp word [eax + 0x4c], dx
je 0x6717e0c9
cmp ecx, dword [eax + 0x6c]
ja 0x6717e0b9
cmp dword [eax + 0x34], edx
je 0x6717e0c9
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x18]
push 2
pop eax
cmp ebx, eax
je 0x67184e3c
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x6717ea8a
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x1c
jmp 0x671856dc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
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 0x6717e212
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x20], ebp
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
add dword [eax], 4
jmp 0x6717e214
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [eax + 0x20], ebp
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
jmp 0x6717e136
mov eax, dword [esp + 0x10]
xor ebp, ebp
push 2
or edx, 0xffffffff
pop ecx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], edx
add dword [eax], ecx
mov dword [esp + 0x1c], ecx
jmp 0x6717e214
mov eax, dword [esp + 0x10]
xor ecx, ecx
inc ecx
push 2
pop edx
mov dword [eax + 0x20], ecx
or ecx, 0xffffffff
mov dword [eax + 0x24], ecx
add dword [eax], edx
mov dword [esp + 0x1c], edx
jmp 0x6717e212
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor ebp, ebp
inc ecx
push 2
pop edx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ecx
add dword [eax], edx
mov dword [esp + 0x1c], edx
jmp 0x6717e214
mov ecx, dword [esp + 0x10]
xor ebp, ebp
push 2
pop eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x20], ebp
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
jmp 0x6717e136
mov eax, dword [esp + 0x10]
cmp bl, 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 [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x6747aea8]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x6747aed4]
mov dword [ecx + 0x24], eax
mov eax, dword [edx*4 + 0x6747af00]
mov dword [esp + 0x1c], eax
mov eax, ecx
xor ebp, ebp
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
movzx eax, word [eax]
mov ebx, dword [esp + 0x14]
mov dword [ecx + 0x28], eax
mov eax, ecx
mov edx, dword [eax]
add edx, 2
mov dword [eax], edx
test ebx, ebx
je 0x6717e269
mov ecx, dword [eax + 0x28]
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x6717e265
movzx eax, word [edx]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, 0x10000
push 2
mov dword [ecx + 0x28], eax
mov eax, ecx
pop ecx
add dword [eax], ecx
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x31], 0x48
jb 0x6717e55f
test ebx, ebx
je 0x6717e2bb
mov edx, dword [eax + 0x28]
cmp edx, 0x7f
jbe 0x6717e2bb
mov eax, edx
test eax, eax
jns 0x6717e288
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x6717e2a4
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x6747cdcc]
add ecx, edx
jmp 0x6717e2ce
mov ecx, dword [eax + 0x28]
mov eax, 0xff
cmp ecx, eax
ja 0x6717e2ce
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x2c], ecx
xor ecx, ecx
mov eax, dword [eax + 0x20]
inc ecx
test ebx, ebx
je 0x6717e397
mov esi, ecx
cmp eax, ecx
jb 0x6717e3e8
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
jmp 0x6717e2fa
mov eax, dword [esp + 0x10]
cmp edx, dword [edi + 0x64]
jae 0x6717e35d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717e33b
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x6717e33f
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], ecx
je 0x6717e356
cmp dword [eax + 0x2c], ecx
je 0x6717e356
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x6717e2f6
jmp 0x6717e3e8
mov esi, ebp
jmp 0x6717d66c
mov eax, dword [esp + 0x90]
cmp word [eax + 0x4c], bp
je 0x6717e386
cmp edx, dword [eax + 0x6c]
ja 0x6717e374
cmp dword [eax + 0x34], ebp
je 0x6717e386
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
jmp 0x6717e389
xor ecx, ecx
inc ecx
mov edi, dword [esp + 0x90]
mov esi, ebp
jmp 0x6717dd5c
mov edx, ecx
cmp eax, ecx
jb 0x6717e3e8
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp ecx, dword [eax + 0x64]
jae 0x6717df4c
mov ebx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x6717d4dd
cmp dword [ebx + 0x2c], eax
je 0x6717d4dd
mov eax, ebx
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x6717e3a4
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d1fd
cmp dword [esp + 0x1c], ecx
je 0x67185163
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov edi, dword [eax + 0x20]
test ebx, ebx
je 0x6717e4d4
cmp edi, dword [eax + 0x24]
jae 0x6717e4ab
mov edx, dword [eax + 0x38]
xor ebx, ebx
inc ebx
mov eax, dword [esp + 0x90]
mov esi, ebx
cmp edx, dword [eax + 0x64]
jae 0x6717e488
movzx ecx, word [edx]
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6717e46c
movzx eax, word [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], ecx
je 0x6717e4a7
cmp dword [eax + 0x2c], ecx
je 0x6717e4a7
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x6717e42c
jmp 0x6717e4a7
xor ecx, ecx
cmp word [eax + 0x4c], cx
je 0x6717e4a7
cmp edx, dword [eax + 0x6c]
ja 0x6717e49a
cmp dword [eax + 0x34], ecx
je 0x6717e4a7
mov dword [eax + 0x2c], ebx
cmp word [eax + 0x4c], bx
ja 0x6717df68
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x90]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov ecx, dword [eax + 0x38]
jmp 0x67184219
cmp edi, dword [eax + 0x24]
jae 0x6717e531
mov eax, dword [eax + 0x38]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x90]
cmp eax, dword [esi + 0x64]
jae 0x6717e509
movzx ecx, word [eax]
cmp dword [edx + 0x28], ecx
je 0x6717e505
cmp dword [edx + 0x2c], ecx
je 0x6717e505
add eax, 2
inc edi
mov dword [edx + 0x38], eax
cmp edi, dword [edx + 0x24]
jb 0x6717e4e7
mov edi, esi
jmp 0x6717e53c
mov edi, esi
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x6717e53c
cmp eax, dword [edi + 0x6c]
mov eax, esi
ja 0x6717e51f
cmp dword [eax + 0x34], ecx
je 0x6717e53a
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
jmp 0x6717e505
mov edi, dword [esp + 0x90]
jmp 0x6717e53c
mov edi, eax
mov edx, dword [esp + 0x18]
mov esi, 0xfc00
mov ebp, dword [esp + 0x14]
push 2
pop eax
cmp dword [esp + 0x1c], eax
je 0x6717d33d
mov ebp, dword [esp + 0x10]
jmp 0x67183b1e
mov eax, dword [eax + 0x20]
xor ecx, ecx
inc ecx
mov esi, ecx
test ebx, ebx
je 0x6717e5dc
cmp eax, ecx
jb 0x6717e622
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
jmp 0x6717e580
mov eax, dword [esp + 0x10]
cmp edx, dword [edi + 0x64]
jae 0x6717e35d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717e5c5
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x6717e5c9
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], ecx
je 0x6717e356
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x6717e57c
jmp 0x6717e622
cmp eax, ecx
jb 0x6717e622
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x6717e095
mov ebx, dword [esp + 0x10]
movzx eax, word [edx]
add edx, 2
mov dword [ebx + 0x38], edx
cmp dword [ebx + 0x28], eax
mov eax, ebx
je 0x6717e087
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x6717e5e7
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d1fd
cmp dword [esp + 0x1c], ecx
je 0x67185170
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov edi, dword [eax + 0x20]
test ebx, ebx
je 0x6717e709
cmp edi, dword [eax + 0x24]
jae 0x6717e6e0
mov edx, dword [eax + 0x38]
xor ebx, ebx
inc ebx
mov eax, dword [esp + 0x90]
mov esi, ebx
cmp edx, dword [eax + 0x64]
jae 0x6717e6bd
movzx ecx, word [edx]
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6717e6a6
movzx eax, word [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], ecx
je 0x6717e6dc
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x6717e666
jmp 0x6717e6dc
xor ecx, ecx
cmp word [eax + 0x4c], cx
je 0x6717e6dc
cmp edx, dword [eax + 0x6c]
ja 0x6717e6cf
cmp dword [eax + 0x34], ecx
je 0x6717e6dc
mov dword [eax + 0x2c], ebx
cmp word [eax + 0x4c], bx
ja 0x6717df68
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x90]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov ecx, dword [eax + 0x38]
jmp 0x671842ce
cmp edi, dword [eax + 0x24]
jae 0x6717e75f
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp ecx, dword [eax + 0x64]
jae 0x6717e739
mov ebx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
mov eax, ebx
je 0x6717e75f
add ecx, 2
inc edi
mov dword [eax + 0x38], ecx
cmp edi, dword [eax + 0x24]
jb 0x6717e711
jmp 0x6717e75b
xor edx, edx
cmp word [eax + 0x4c], dx
je 0x6717e75b
cmp ecx, dword [eax + 0x6c]
ja 0x6717e74b
cmp dword [eax + 0x34], edx
je 0x6717e75b
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x90]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov eax, dword [eax + 0x38]
mov ebp, dword [esp + 0x10]
jmp 0x67183b99
mov eax, dword [esp + 0x10]
push 2
pop ecx
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 8], eax
mov eax, ecx
add dword [eax], 0x22
mov edx, dword [eax]
movzx eax, word [edx]
mov ecx, eax
cmp ecx, 0x62
jb 0x6717e83f
cmp ecx, 0x67
jbe 0x6717e80b
push 0x69
pop ebx
cmp ecx, ebx
jbe 0x6717e7cc
cmp ecx, 0x6c
jbe 0x6717e80b
push 0x6d
pop ecx
cmp ax, cx
jne 0x6717e83f
mov ecx, dword [esp + 0x10]
movzx eax, word [edx + 2]
push 0xffffffffffffffff
mov dword [ecx + 0x20], eax
mov eax, ecx
pop ecx
mov eax, dword [eax]
movzx eax, word [eax + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
mov edx, dword [eax*4 + 0x6747ad78]
lea eax, [ecx + 6]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
mov dword [ecx], eax
jmp 0x6717e833
lea eax, [edx + 2]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x6747ad20]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x6747ad4c]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x6747ad78]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
xor edx, edx
inc edx
mov eax, dword [eax + 0x20]
jmp 0x6717e84e
mov eax, dword [esp + 0x10]
xor edx, edx
inc edx
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], edx
mov eax, edx
mov ebx, edx
test ebp, ebp
je 0x6717e92c
cmp eax, edx
jb 0x6717e993
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov edi, dword [eax + 0x38]
cmp edi, dword [ecx + 0x64]
jae 0x6717e911
movzx esi, word [edi]
mov ebp, 0xfc00
add edi, 2
mov dword [eax + 0x38], edi
mov eax, esi
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6717e8b5
movzx eax, word [edi]
mov ebp, 0x3ff
and esi, ebp
and eax, ebp
shl esi, 0xa
or esi, eax
mov eax, dword [esp + 0x10]
add esi, 0x10000
add edi, 2
mov dword [eax + 0x38], edi
jmp 0x6717e8b9
mov eax, dword [esp + 0x10]
mov ebp, 0xff
cmp esi, ebp
jbe 0x6717e8dc
cmp byte [eax + 0x31], 0x6e
jne 0x6717e8fc
mov eax, dword [esp + 0x10]
xor edx, edx
mov edi, dword [esp + 0x90]
mov esi, edx
jmp 0x6717d4ec
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [esp + 0x10]
je 0x6717e8cc
mov ecx, dword [esp + 0x90]
xor edx, edx
inc edx
mov eax, dword [eax + 0x20]
inc ebx
cmp ebx, eax
ja 0x6717e993
mov eax, dword [esp + 0x10]
jmp 0x6717e86e
mov eax, dword [esp + 0x90]
xor ebp, ebp
cmp word [eax + 0x4c], bp
je 0x6717df6f
cmp edi, dword [eax + 0x6c]
jmp 0x6717df55
cmp eax, edx
jb 0x6717e993
mov eax, dword [esp + 0x10]
mov ebp, 0xff
mov ecx, dword [esp + 0x90]
mov edi, dword [eax + 0x38]
cmp edi, dword [ecx + 0x64]
jae 0x6717e911
movzx esi, word [edi]
add edi, 2
mov dword [eax + 0x38], edi
cmp esi, ebp
jbe 0x6717e961
cmp byte [eax + 0x31], 0x6e
je 0x6717e8c8
jmp 0x6717e985
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [esp + 0x10]
je 0x6717e8cc
mov ecx, dword [esp + 0x90]
xor edx, edx
inc edx
mov eax, dword [eax + 0x20]
inc ebx
cmp ebx, eax
ja 0x6717e993
mov eax, dword [esp + 0x10]
jmp 0x6717e943
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d1f6
cmp dword [esp + 0x1c], ecx
je 0x6718517d
mov ebx, dword [esp + 0x14]
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov ebp, dword [eax + 0x20]
test ebx, ebx
je 0x6717ea97
cmp ebp, dword [eax + 0x24]
jae 0x6717ea76
mov edi, dword [eax + 0x38]
xor edx, edx
inc edx
mov eax, dword [esp + 0x90]
mov ebx, edx
cmp edi, dword [eax + 0x64]
jae 0x6717ea57
movzx esi, word [edi]
mov ecx, 0xfc00
mov eax, esi
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x6717ea1b
movzx eax, word [edi + 2]
mov ecx, 0x3ff
and esi, ecx
and eax, ecx
shl esi, 0xa
or esi, eax
push 2
pop eax
add esi, 0x10000
mov ebx, eax
mov eax, 0xff
cmp esi, eax
mov eax, dword [esp + 0x10]
jbe 0x6717ea30
cmp byte [eax + 0x31], 0x6e
je 0x6717ea76
jmp 0x6717ea49
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
je 0x6717ea76
mov eax, dword [esp + 0x10]
xor edx, edx
inc edx
lea edi, [edi + ebx*2]
inc ebp
mov dword [eax + 0x38], edi
cmp ebp, dword [eax + 0x24]
jb 0x6717e9db
jmp 0x6717ea76
xor ecx, ecx
cmp word [eax + 0x4c], cx
je 0x6717ea76
cmp edi, dword [eax + 0x6c]
ja 0x6717ea69
cmp dword [eax + 0x34], ecx
je 0x6717ea76
mov dword [eax + 0x2c], edx
cmp word [eax + 0x4c], dx
ja 0x6717df68
push 2
pop eax
cmp dword [esp + 0x1c], eax
jne 0x671852db
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x6717d1c4
cmp ebp, dword [eax + 0x24]
jae 0x6717eabd
mov edi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp edi, dword [ecx + 0x64]
jae 0x6717eb1d
movzx esi, word [edi]
mov edx, 0xff
cmp esi, edx
jbe 0x6717eaef
cmp byte [eax + 0x31], 0x6e
jne 0x6717eb0f
xor edx, edx
mov edi, dword [esp + 0x90]
push 2
pop eax
cmp dword [esp + 0x1c], eax
je 0x6717d6b1
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jb 0x6717d6ba
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x18
jmp 0x671856dc
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, esi
inc edx
and ecx, 7
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
je 0x6717eabd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
add edi, 2
inc ebp
mov dword [eax + 0x38], edi
cmp ebp, dword [eax + 0x24]
jb 0x6717eaa6
jmp 0x6717eabd
mov eax, dword [esp + 0x90]
xor edx, edx
cmp word [eax + 0x4c], dx
je 0x6717eabf
cmp edi, dword [eax + 0x6c]
ja 0x6717eb36
cmp dword [eax + 0x34], edx
je 0x6717eabf
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
jmp 0x6717eabf
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
add eax, 4
mov dword [ecx + 8], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx + 2]
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x10]
mov dword [eax], edx
movzx eax, word [edx]
mov ecx, eax
cmp ecx, 0x62
jb 0x6717ec06
cmp ecx, 0x67
jbe 0x6717ebd2
push 0x69
pop ebx
cmp ecx, ebx
jbe 0x6717eb93
cmp ecx, 0x6c
jbe 0x6717ebd2
push 0x6d
pop ecx
cmp ax, cx
jne 0x6717ec06
mov ecx, dword [esp + 0x10]
movzx eax, word [edx + 2]
push 0xffffffffffffffff
mov dword [ecx + 0x20], eax
mov eax, ecx
pop ecx
mov eax, dword [eax]
movzx eax, word [eax + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
mov edx, dword [eax*4 + 0x6747ad78]
lea eax, [ecx + 6]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
mov dword [ecx], eax
jmp 0x6717ebfa
lea eax, [edx + 2]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x6747ad20]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x6747ad4c]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x6747ad78]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
xor ecx, ecx
inc ecx
mov eax, dword [eax + 0x20]
jmp 0x6717ec15
mov eax, dword [esp + 0x10]
xor ecx, ecx
inc ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov eax, ecx
mov ebx, dword [esp + 0x14]
mov esi, ecx
cmp eax, ecx
jb 0x6717ec9c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717ecd7
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717ec7b
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6717ec77
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ebx
push dword [eax + 8]
push ecx
call fcn.671a2625
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
je 0x6717d7d4
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x6717ec1f
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d1fd
cmp dword [esp + 0x1c], ecx
je 0x67183f65
mov eax, ebp
mov ecx, ebp
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebp
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x6717edb0
mov edx, dword [eax + 0x38]
jmp 0x6717ed19
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717ed0b
cmp eax, dword [edi + 0x6c]
mov eax, dword [esp + 0x90]
ja 0x6717ecf0
cmp dword [eax + 0x34], ebp
je 0x6717ed09
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, dword [esp + 0x90]
jmp 0x6717ed0e
mov edi, eax
xor ecx, ecx
inc ecx
mov esi, ebp
jmp 0x6717dd5c
mov eax, dword [esp + 0x10]
xor ecx, ecx
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x90]
cmp edx, dword [ecx + 0x64]
jae 0x6717ed8c
movzx ecx, word [edx]
test ebx, ebx
je 0x6717ed64
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6717ed60
movzx eax, word [edx + 2]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, dword [esp + 0x10]
push ebx
push dword [eax + 8]
push ecx
call fcn.671a2625
add esp, 0xc
test eax, eax
je 0x6717edb0
mov ecx, dword [esp + 0x10]
lea eax, [esi + esi]
add dword [ecx + 0x38], eax
mov eax, ecx
inc edi
mov edx, dword [eax + 0x38]
cmp edi, dword [eax + 0x24]
jb 0x6717ed15
jmp 0x6717edb0
mov eax, ecx
xor ecx, ecx
cmp word [eax + 0x4c], cx
je 0x6717edb0
cmp edx, dword [eax + 0x6c]
ja 0x6717eda0
cmp dword [eax + 0x34], ecx
je 0x6717edb0
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
push 2
pop eax
cmp dword [esp + 0x1c], eax
je 0x6717ea83
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x65
jmp 0x671856dc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jb 0x6717ede0
xor ebp, ebp
jmp 0x6717dd21
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717ee27
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717ee27
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, 0xff
cmp ecx, eax
ja 0x6717ee3d
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x6717d6b8
mov eax, dword [esp + 0x10]
push 2
pop ecx
add dword [eax], ecx
jmp 0x67184e38
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717ee9e
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717ee9e
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, 0xff
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x6717d6b8
jmp 0x6717ee3d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717ef11
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717ef11
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, 0xff
cmp ecx, eax
ja 0x6717ee3d
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jmp 0x6717ee37
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717ef83
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717ef83
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, 0xff
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jmp 0x6717eeb2
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717eff5
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717eff5
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, 0xff
cmp ecx, eax
ja 0x6717ee3d
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jmp 0x6717ee37
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717f065
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717f065
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, 0xff
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jmp 0x6717eeb2
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jb 0x6717f098
mov eax, dword [esp + 0x90]
xor ebp, ebp
jmp 0x6717e095
movzx ecx, word [edx]
add edx, 2
mov ebx, dword [esp + 0x14]
mov esi, edx
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717f0de
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6717f0de
movzx eax, word [edx]
lea esi, [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
push 0xa
pop edx
cmp ecx, edx
je 0x6717f170
jbe 0x6717d6b8
push 0xc
pop eax
cmp ecx, eax
jbe 0x6717f11c
push 0xd
pop eax
cmp ecx, eax
je 0x6717f140
add eax, 0x78
cmp ecx, eax
je 0x6717f11c
mov eax, 0x2027
cmp ecx, eax
jbe 0x6717d6b8
add eax, 2
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [esp + 0x90]
push 2
pop ecx
cmp word [eax + 0x4e], cx
jne 0x6717f16e
mov eax, dword [esp + 0x10]
xor edx, edx
mov edi, dword [esp + 0x90]
mov esi, edx
jmp 0x6717d4f0
mov eax, dword [esp + 0x90]
cmp esi, dword [eax + 0x64]
jb 0x6717f17e
xor ecx, ecx
cmp word [eax + 0x4c], cx
je 0x6717f16e
cmp esi, dword [eax + 0x6c]
ja 0x6717f15e
cmp dword [eax + 0x34], ecx
je 0x6717f16e
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, eax
mov eax, dword [esp + 0x10]
push 2
pop ebx
add dword [eax], ebx
jmp 0x6717ea8a
cmp word [esi], dx
jne 0x6717f16e
mov ecx, dword [esp + 0x10]
lea eax, [esi + 2]
mov edi, dword [esp + 0x90]
mov dword [ecx + 0x38], eax
jmp 0x6717f170
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717f1f1
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717f1ed
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ebp, 0x180e
cmp ecx, ebp
ja 0x6717f235
je 0x6717d6b8
push 9
pop edx
cmp ecx, edx
je 0x6717d6b8
push 0x20
pop edx
cmp ecx, edx
je 0x6717d6b8
mov edx, 0xa0
cmp ecx, edx
je 0x6717d6b8
mov edx, 0x1680
cmp ecx, edx
je 0x6717d6b8
jmp 0x6717ee41
mov edx, 0x2000
cmp ecx, edx
jb 0x6717ee41
add edx, 0xa
cmp ecx, edx
jbe 0x6717d6b8
mov edx, 0x202f
cmp ecx, edx
je 0x6717d6b8
add edx, 0x30
cmp ecx, edx
je 0x6717d6b8
mov edx, 0x3000
jmp 0x6717f228
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717f2c7
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717f2c3
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ebp, 0x180e
cmp ecx, ebp
ja 0x6717f30b
je 0x6717ee41
push 9
pop edx
cmp ecx, edx
je 0x6717ee41
push 0x20
pop edx
cmp ecx, edx
je 0x6717ee41
mov edx, 0xa0
cmp ecx, edx
je 0x6717ee41
mov edx, 0x1680
cmp ecx, edx
je 0x6717ee41
jmp 0x6717d6b8
mov edx, 0x2000
cmp ecx, edx
jb 0x6717d6b8
add edx, 0xa
cmp ecx, edx
jbe 0x6717ee41
mov edx, 0x202f
cmp ecx, edx
je 0x6717ee41
add edx, 0x30
cmp ecx, edx
je 0x6717ee41
mov edx, 0x3000
jmp 0x6717f2fe
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717f399
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717f399
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
push 0xa
pop eax
cmp ecx, eax
jb 0x6717ee3d
push 0xd
pop eax
cmp ecx, eax
jbe 0x6717f3c5
add eax, 0x78
cmp ecx, eax
je 0x6717f3c5
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja 0x6717ee3d
jmp 0x6717f3c8
xor ecx, ecx
inc ecx
xor edx, edx
mov esi, edx
jmp case.0x6718395c.35
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717f428
mov eax, ecx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717f428
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
push 0xa
pop eax
cmp ecx, eax
jb 0x6717f3c5
push 0xd
pop eax
cmp ecx, eax
jbe 0x6717ee3d
add eax, 0x78
cmp ecx, eax
je 0x6717ee3d
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja 0x6717f3c8
jmp 0x6717ee3d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717edd9
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x6717f4ae
mov eax, edx
mov ebp, 0xd800
and eax, esi
cmp eax, ebp
jne 0x6717f4ae
movzx eax, word [ecx]
mov ebp, 0x3ff
and edx, ebp
and eax, ebp
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x10]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, edx
shr eax, 7
push 0xa
pop ebp
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul ecx, eax, 0xc
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
add ecx, 0x6747cdc8
movzx eax, word [esi + 2]
cmp eax, ebp
ja case.0x67184b73.15
jmp dword [eax*4 + 0x67185ac4]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x31], 0xf
je 0x6717d6b8
add dword [eax], 6
jmp 0x6717ea8a
mov al, byte [ecx + 1]
push 9
pop ecx
cmp al, cl
je 0x6717f523
push 5
pop ecx
cmp al, cl
je 0x6717f523
cmp al, 8
je 0x6717f523
xor ebp, ebp
mov ecx, ebp
jmp 0x6717f52a
xor eax, eax
lea ecx, [eax + 1]
xor ebp, ebp
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp byte [ebx + 0x31], 0xf
sete al
cmp ecx, eax
mov eax, ebx
jne 0x6717f500
mov esi, ebp
jmp 0x6717d4ea
movzx ecx, byte [ecx + 1]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x67495a70]
mov ecx, dword [esp + 0x10]
setne dl
xor eax, eax
cmp byte [ecx + 0x31], 0x10
sete al
cmp edx, eax
mov eax, dword [esp + 0x10]
jne 0x6717f500
jmp 0x6717d7d4
movzx eax, byte [ecx + 1]
mov ebx, dword [esp + 0x10]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp byte [ebx + 0x31], 0x10
sete al
cmp ecx, eax
mov eax, dword [esp + 0x10]
jne 0x6717f500
jmp 0x6717d712
movzx eax, byte [ecx]
jmp 0x6717f576
movzx eax, byte [ecx + 1]
xor ecx, ecx
inc ecx
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x6717f528
cmp eax, 3
je 0x6717f528
jmp 0x6717f51d
mov ebp, 0x180e
cmp edx, ebp
ja 0x6717f623
je 0x6717f65a
push 9
pop eax
cmp edx, eax
jb 0x6717f603
push 0xd
pop eax
cmp edx, eax
jbe 0x6717f65a
push 0x20
pop eax
cmp edx, eax
je 0x6717f65a
add eax, 0x65
cmp edx, eax
je 0x6717f65a
mov eax, 0xa0
cmp edx, eax
je 0x6717f65a
mov eax, 0x1680
cmp edx, eax
je 0x6717f65a
movzx eax, byte [ecx + 1]
xor ecx, ecx
mov ebx, dword [esp + 0x10]
cmp dword [eax*4 + 0x67495a70], 6
sete cl
xor eax, eax
cmp byte [ebx + 0x31], 0xf
jmp 0x6717f589
mov eax, 0x2000
cmp edx, eax
jb 0x6717f603
add eax, 0xa
cmp edx, eax
jbe 0x6717f65a
mov eax, 0x2027
cmp edx, eax
jbe 0x6717f603
add eax, 2
cmp edx, eax
jbe 0x6717f65a
mov eax, 0x202f
cmp edx, eax
je 0x6717f65a
add eax, 0x30
cmp edx, eax
je 0x6717f65a
mov eax, 0x3000
jmp 0x6717f5ff
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x31], 0xf
jmp 0x6717f567
movzx eax, byte [ecx + 1]
xor ecx, ecx
inc ecx
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x6717f528
cmp eax, 3
je 0x6717f528
cmp edx, 0x5f
jmp 0x6717f5bb
movzx eax, word [esi + 4]
lea eax, [eax*4 + 0x6747c9f0]
jmp 0x6717f6a2
lea eax, [eax + 4]
cmp edx, ecx
je 0x6717f6b5
mov ecx, dword [eax]
cmp edx, ecx
jae 0x6717f69b
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x31], 0x10
jmp 0x6717f567
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x31], 0x10
je 0x6717f500
jmp 0x6717d7d4
cmp edx, 0x24
je 0x6717f523
cmp edx, 0x40
je 0x6717f523
cmp edx, 0x60
je 0x6717f523
mov eax, 0xa0
cmp edx, eax
jb 0x6717f6f8
cmp edx, 0xd7ff
jbe 0x6717f523
cmp edx, 0xe000
jae 0x6717f523
jmp 0x6717f51d
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6717f08a
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov esi, edx
test ebp, ebp
je 0x6717f75b
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x6717f75b
movzx eax, word [edx]
lea esi, [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
xor ebx, ebx
push ebx
push ebp
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push ecx
call fcn.671a1f8a
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp eax, dword [edi + 0x64]
jb 0x6717f7ad
cmp word [edi + 0x4c], bx
je 0x6717f7ad
cmp eax, dword [edi + 0x6c]
mov eax, dword [esp + 0x90]
ja 0x6717f792
cmp dword [eax + 0x34], ebx
je 0x6717f7ab
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp word [eax + 0x4c], cx
ja 0x6717df68
mov edi, dword [esp + 0x90]
jmp 0x6717f7ad
mov edi, eax
mov eax, dword [esp + 0x10]
push 2
pop ecx
add dword [eax], ecx
jmp 0x6717ea8e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
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 0x6717f8ca
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [eax + 0x20], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
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 [esp + 0x1c], edx
mov dword [ebx], eax
jmp 0x6717f8d0
mov eax, dword [esp + 0x10]
xor edx, edx
mov ebx, dword [esp + 0x10]
or ebp, 0xffffffff
push 2
pop ecx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ebp
add dword [eax], ecx
mov eax, dword [eax]
mov dword [esp + 0x1c], ecx
jmp 0x6717f8d5
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov ebx, dword [esp + 0x10]
inc ecx
push 2
pop edx
mov dword [eax + 0x20], ecx
or ebp, 0xffffffff
mov dword [eax + 0x24], ebp
add dword [eax], edx
mov eax, dword [eax]
mov dword [esp + 0x1c], edx
xor edx, edx
jmp 0x6717f8d5
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
inc ecx
push 2
pop ebx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
add dword [eax], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [eax]
mov ebx, dword [esp + 0x10]
jmp 0x6717f8d2
mov ecx, dword [esp + 0x10]
xor edx, edx
push 2
pop eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x20], edx
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x6717f86b
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, word [eax]
add eax, 2
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x6747ad54]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + str.UTF16_]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x6747adac]
mov dword [esp + 0x1c], eax
mov eax, edx
mov ebx, dword [esp + 0x10]
mov eax, dword [eax]
xor edx, edx
or ebp, 0xffffffff
movzx eax, word [eax]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
add eax, 2
mov dword [ecx], eax
cmp dword [ecx + 0x28], 0x10
je 0x6717f8fa
cmp dword [ecx + 0x28], 0xf
je 0x6717f8fa
mov eax, ecx
jmp 0x6717f911
movzx ebp, word [eax]
add eax, 2
mov dword [ecx], eax
push 2
movzx eax, word [eax]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x14]
pop ecx
add dword [eax], ecx
mov eax, dword [eax + 0x20]
test eax, eax
je 0x6717fa8a
test ebp, ebp
js 0x67180202
push 0xa
pop esi
cmp ebp, esi
ja case.0x67184b73.15
jmp dword [ebp*4 + 0x67185af0]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x28], 0xf
je 0x6717d37c
mov ebx, dword [esp + 0x14]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x6717f9b1
mov ebx, dword [esp + 0x10]
lea eax, [edx + 2]
movzx ecx, word [edx]
mov edx, eax
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x6717f99b
mov edi, 0xfc00
and ecx, edi
mov edi, 0xd800
cmp ecx, edi
jne 0x6717f99b
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], edx
jmp 0x6717f99f
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x6717f95c
mov edi, dword [esp + 0x90]
jmp 0x6717fa92
xor ebp, ebp
jmp 0x6717e364
xor ebx, ebx
inc ebx
cmp eax, ebx
mov edi, ebx
mov eax, dword [esp + 0x10]
jb 0x671810d6
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp esi, dword [ecx + 0x64]
jae 0x6717fad3
cmp dword [esp + 0x14], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x6717fa1d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717fa1d
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
lea esi, [edx + 2]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
push 9
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
pop ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
mov al, byte [eax + 0x6747cdc9]
cmp al, cl
je 0x6717fa5b
push 5
pop ecx
cmp al, cl
je 0x6717fa5b
cmp al, 8
je 0x6717fa5b
xor edx, edx
mov ecx, edx
jmp 0x6717fa5f
mov ecx, ebx
xor edx, edx
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717e8ce
inc edi
push 1
pop ebx
cmp edi, dword [eax + 0x20]
jbe 0x6717f9cc
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push 0xa
pop esi
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
mov edx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x24]
je 0x6717d1c0
cmp dword [esp + 0x1c], 0
je 0x6718518d
mov eax, ecx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
test ebp, ebp
js 0x671819ba
cmp ebp, esi
ja case.0x67184b73.15
jmp dword [ebp*4 + 0x67185b1c]
mov edi, ecx
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717dd53
cmp esi, dword [edi + 0x6c]
ja 0x6717faef
cmp dword [edi + 0x34], ebp
je 0x6717dd53
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
jmp 0x6717dd56
xor ecx, ecx
inc ecx
cmp eax, ecx
mov edi, ecx
mov eax, dword [esp + 0x10]
jb 0x671810d6
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp esi, dword [ecx + 0x64]
jae 0x6717fad3
cmp dword [esp + 0x14], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x6717fb69
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x6717fb69
movzx eax, word [edx]
lea esi, [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov ecx, dword [eax*4 + 0x67495a70]
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717e8cc
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x6717fb18
jmp 0x6717fa83
xor ecx, ecx
inc ecx
cmp eax, ecx
mov edi, ecx
mov eax, dword [esp + 0x10]
jb 0x671810d6
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp esi, dword [ecx + 0x64]
jae 0x6717fad3
cmp dword [esp + 0x14], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x6717fc32
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x6717fc32
movzx eax, word [edx]
lea esi, [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x6747cdc9]
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717e8cc
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x6717fbdd
jmp 0x6717fa83
xor ecx, ecx
inc ecx
cmp eax, ecx
mov edi, ecx
mov eax, dword [esp + 0x10]
jb 0x671810d6
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp esi, dword [ecx + 0x64]
jae 0x6717fad3
cmp dword [esp + 0x14], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x6717fcf4
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x6717fcf4
movzx eax, word [edx]
lea esi, [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x6747cdc8]
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717e8cc
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x6717fc9f
jmp 0x6717fa83
xor ebx, ebx
inc ebx
cmp eax, ebx
mov edi, ebx
mov eax, dword [esp + 0x10]
jb 0x671810d6
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp esi, dword [ecx + 0x64]
jae 0x6717fad3
cmp dword [esp + 0x14], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x6717fdb2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717fdb2
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
lea esi, [edx + 2]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ebx
je 0x6717fdef
cmp eax, 3
je 0x6717fdef
xor edx, edx
mov ecx, edx
jmp 0x6717fdf3
mov ecx, ebx
xor edx, edx
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717e8ce
inc edi
push 1
pop ebx
cmp edi, dword [eax + 0x20]
jbe 0x6717fd61
jmp 0x6717fa83
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x671810cd
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717ff7a
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x6717fe85
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717fe81
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edx, 0x180e
cmp ecx, edx
ja 0x6717ff34
je 0x6717ff6e
push 9
pop edx
cmp ecx, edx
jb 0x6717feda
push 0xd
pop edx
cmp ecx, edx
jbe 0x6717ff6e
push 0x20
pop edx
cmp ecx, edx
je 0x6717ff6e
add edx, 0x65
cmp ecx, edx
je 0x6717ff6e
mov edx, 0xa0
cmp ecx, edx
je 0x6717ff6e
mov edx, 0x1680
cmp ecx, edx
je 0x6717ff6e
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
cmp dword [eax*4 + 0x67495a70], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717d712
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x6717fe2d
jmp 0x6717fa8a
mov edx, 0x2000
cmp ecx, edx
jb 0x6717feda
add edx, 0xa
cmp ecx, edx
jbe 0x6717ff6e
mov edx, 0x2027
cmp ecx, edx
jbe 0x6717feda
add edx, 2
cmp ecx, edx
jbe 0x6717ff6e
mov edx, 0x202f
cmp ecx, edx
je 0x6717ff6e
add edx, 0x30
cmp ecx, edx
je 0x6717ff6e
mov edx, 0x3000
jmp 0x6717fed2
cmp dword [eax + 0x28], 0xf
je 0x6717d6b8
jmp 0x6717ff25
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717dd53
cmp eax, dword [edi + 0x6c]
jmp 0x6717fae4
xor ebx, ebx
inc ebx
cmp eax, ebx
mov edi, ebx
mov eax, dword [esp + 0x10]
jb 0x671810d6
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x90]
cmp esi, dword [ecx + 0x64]
jae 0x6717fad3
cmp dword [esp + 0x14], 0
lea ecx, [esi + 2]
movzx edx, word [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x6717fff3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717fff3
movzx eax, word [ecx]
mov esi, 0x3ff
and edx, esi
and eax, esi
shl edx, 0xa
lea esi, [ecx + 2]
or edx, eax
mov eax, dword [esp + 0x10]
add edx, 0x10000
mov dword [eax + 0x38], esi
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ebx
je 0x67180037
cmp eax, 3
je 0x67180037
cmp edx, 0x5f
je 0x67180037
xor edx, edx
mov ecx, edx
jmp 0x6718003b
mov ecx, ebx
xor edx, edx
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x6717e8ce
inc edi
push 1
pop ebx
cmp edi, dword [eax + 0x20]
jbe 0x6717ffa2
jmp 0x6717fa83
xor ecx, ecx
inc ecx
mov esi, ecx
cmp eax, ecx
jb 0x6717fa8a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x6717ff7a
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x671800cd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x671800c9
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
mov ebx, dword [esp + 0x10]
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
lea eax, [eax*4 + 0x6747c9f0]
jmp 0x671800e0
lea eax, [eax + 4]
cmp ecx, edx
je 0x67180103
mov edx, dword [eax]
cmp ecx, edx
jae 0x671800d9
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0xf
jne 0x6717d7d4
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180071
jmp 0x6717fa8e
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0xf
je 0x6717d6b8
jmp 0x671800f4
mov ebx, dword [esp + 0x14]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x67180178
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67180178
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x10]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x6718017c
mov edx, dword [esp + 0x10]
cmp ecx, 0x24
je 0x671801aa
cmp ecx, 0x40
je 0x671801aa
cmp ecx, 0x60
je 0x671801aa
mov eax, 0xa0
cmp ecx, eax
jb 0x6718019c
cmp ecx, 0xd7ff
jbe 0x671801aa
cmp ecx, 0xe000
jae 0x671801aa
xor eax, eax
mov ecx, eax
jmp 0x671801af
xor eax, eax
lea ecx, [eax + 1]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, dword [esp + 0x10]
je 0x6717d7d4
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180128
jmp 0x6717fa8e
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717ed0b
cmp eax, dword [edi + 0x6c]
ja 0x671801ed
cmp dword [edi + 0x34], ebp
je 0x6717ed0b
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
jmp 0x6717ed0e
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x28]
cmp ecx, 0x16
jne 0x671802ff
xor ecx, ecx
inc ecx
cmp eax, ecx
mov edi, ecx
mov eax, dword [esp + 0x10]
jb 0x671810c6
mov ebx, dword [esp + 0x90]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 0x64]
jae 0x671802da
cmp dword [esp + 0x14], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov esi, edx
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], edx
je 0x6718027b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6718027b
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
lea esi, [edx + 2]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
xor eax, eax
push eax
push dword [esp + 0x18]
push dword [ebx + 0x64]
push dword [ebx + 0x5c]
push esi
push ecx
call fcn.671a1f8a
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp eax, dword [ebx + 0x64]
jb 0x671802c2
xor edx, edx
cmp word [ebx + 0x4c], dx
je 0x671802c2
cmp eax, dword [ebx + 0x6c]
ja 0x671802b0
cmp dword [ebx + 0x34], edx
je 0x671802c2
xor ecx, ecx
inc ecx
mov dword [ebx + 0x2c], ecx
cmp word [ebx + 0x4c], cx
ja 0x6717df68
jmp 0x671802c5
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x10]
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x6718022a
mov edi, ebx
jmp 0x6717fa8a
mov edi, ebx
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717dd56
cmp eax, dword [edi + 0x6c]
ja 0x6717faf2
cmp dword [edi + 0x34], ebp
je 0x6717dd56
jmp 0x6717faf2
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x67184b73.15
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x67180ae1
jmp dword [ecx*4 + 0x67185b48]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov ebx, ecx
mov eax, dword [esp + 0x10]
jb 0x671810cd
mov edx, dword [eax + 0x38]
mov ecx, dword [edi + 0x64]
cmp edx, ecx
jae 0x6718043f
mov eax, dword [edi + 0x98]
add edi, 0x9c
test eax, eax
je 0x67180367
push dword [esp + 0x14]
push edi
push ecx
push eax
push edx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x6717e8c8
jmp 0x671803a1
mov esi, dword [edi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x671803a1
mov ecx, dword [esp + 0x90]
mov ax, word [edx]
cmp ax, word [ecx + 0xa0]
jne 0x671803a1
xor eax, eax
inc eax
cmp esi, eax
je 0x6717e8c8
mov ax, word [edx + 2]
cmp ax, word [ecx + 0xa2]
je 0x6717e8c8
mov eax, dword [esp + 0x90]
xor edx, edx
cmp word [eax + 0x4c], dx
je 0x671803fb
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x90]
mov ecx, dword [eax + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0x64]
jb 0x671803f7
mov eax, esi
cmp dword [eax + 0x98], edx
jne 0x671803fb
push 2
pop eax
cmp dword [edi], eax
mov edi, esi
jne 0x671803fd
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne 0x671803fd
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x671803fd
mov edi, esi
jmp 0x671803fd
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, ecx
mov dword [eax + 0x38], ecx
cmp edx, dword [edi + 0x64]
jae 0x67180430
mov ax, word [ecx]
mov esi, 0xfc00
and ax, si
mov esi, 0xdc00
cmp ax, si
mov eax, dword [esp + 0x10]
jne 0x67180430
lea edx, [ecx + 2]
mov dword [eax + 0x38], edx
inc ebx
cmp ebx, dword [eax + 0x20]
jbe 0x67180332
jmp 0x6717fa8a
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717dd53
cmp edx, dword [edi + 0x6c]
jmp 0x6717fae4
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
lea ecx, [edx + 2]
mov dword [eax + 0x38], ecx
mov edx, ecx
cmp ecx, dword [edi + 0x64]
jae 0x67180492
mov ax, word [ecx]
and ax, word [esp + 0x24]
cmp ax, word [esp + 0x20]
mov eax, dword [esp + 0x10]
jne 0x67180492
lea edx, [ecx + 2]
mov dword [eax + 0x38], edx
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180467
jmp 0x6717fa8e
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717ed0b
cmp edx, dword [edi + 0x6c]
jmp 0x671801e2
lea ecx, [eax + eax]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp edx, eax
ja 0x6717d6b8
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x38], eax
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6718052a
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
push 0xa
pop eax
cmp ecx, eax
je 0x67180571
jbe 0x6717d6b8
push 0xc
pop eax
cmp ecx, eax
jbe 0x67180564
push 0xd
pop eax
cmp ecx, eax
je 0x67180584
add eax, 0x78
cmp ecx, eax
je 0x67180564
mov eax, 0x2027
cmp ecx, eax
jbe 0x6717d6b8
add eax, 2
cmp ecx, eax
ja 0x6717d6b8
push 2
pop eax
cmp word [edi + 0x4e], ax
je 0x6717d6b8
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
ja 0x6717fa92
jmp 0x671804eb
mov eax, edx
cmp edx, dword [edi + 0x64]
jae 0x6718059d
push 0xa
pop ecx
cmp word [edx], cx
jne 0x6718059d
mov ecx, dword [esp + 0x10]
lea eax, [edx + 2]
mov dword [ecx + 0x38], eax
mov edx, eax
jmp 0x67180571
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x671805fa
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x671805fe
mov eax, dword [esp + 0x10]
cmp ecx, 0x180e
ja 0x67180632
je 0x6717d6b8
cmp ecx, 9
je 0x6717d6b8
cmp ecx, 0x20
je 0x6717d6b8
cmp ecx, 0xa0
je 0x6717d6b8
cmp ecx, 0x1680
jmp 0x67180664
cmp ecx, 0x2000
jb 0x6718066a
cmp ecx, 0x200a
jbe 0x6717d6b8
cmp ecx, 0x202f
je 0x6717d6b8
cmp ecx, 0x205f
je 0x6717d6b8
cmp ecx, 0x3000
je 0x6717d6b8
inc esi
cmp esi, dword [eax + 0x20]
mov eax, dword [esp + 0x10]
ja 0x6717fa92
jmp 0x671805b5
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x671806d6
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x671806da
mov eax, dword [esp + 0x10]
cmp ecx, 0x180e
ja 0x671806fe
je 0x6718072e
cmp ecx, 9
je 0x6718072e
cmp ecx, 0x20
je 0x6718072e
cmp ecx, 0xa0
je 0x6718072e
cmp ecx, 0x1680
jmp 0x67180728
cmp ecx, 0x2000
jb 0x6717d6b8
cmp ecx, 0x200a
jbe 0x6718072e
cmp ecx, 0x202f
je 0x6718072e
cmp ecx, 0x205f
je 0x6718072e
cmp ecx, 0x3000
jne 0x6717d6b8
inc esi
cmp esi, dword [eax + 0x20]
mov eax, dword [esp + 0x10]
jbe 0x67180691
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6718079a
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x6718079e
mov eax, dword [esp + 0x10]
cmp ecx, 0xa
jb 0x671807cc
cmp ecx, 0xd
jbe 0x6717d6b8
cmp ecx, 0x85
je 0x6717d6b8
cmp ecx, 0x2027
jbe 0x671807cc
cmp ecx, 0x2029
jbe 0x6717d6b8
inc esi
cmp esi, dword [eax + 0x20]
mov eax, dword [esp + 0x10]
ja 0x6717fa92
jmp 0x67180755
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67180870
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67180832
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
push 0xa
pop eax
cmp ecx, eax
jb 0x6717f3c5
push 0xd
pop eax
cmp ecx, eax
jbe 0x6718085e
add eax, 0x78
cmp ecx, eax
je 0x6718085e
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja 0x6717f3c8
jmp 0x67180861
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x671807f3
jmp 0x6717fa8e
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717ed0e
cmp edx, dword [edi + 0x6c]
ja 0x671801f0
cmp dword [edi + 0x34], ebp
je 0x6717ed0e
jmp 0x671801f0
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x671808ea
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
mov eax, 0x80
cmp ecx, eax
jae 0x67180900
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x6717d6b8
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
ja 0x6717fa92
jmp 0x671808a7
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x6718095b
movzx edx, word [ecx]
mov eax, 0x80
cmp edx, eax
jae 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
je 0x6717d6b8
mov eax, dword [esp + 0x10]
add ecx, 2
inc esi
mov dword [eax + 0x38], ecx
cmp esi, dword [eax + 0x20]
jbe 0x67180924
jmp 0x6717fa8e
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717ed0b
cmp ecx, dword [edi + 0x6c]
jmp 0x671801e2
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x671809a8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
mov eax, dword [esp + 0x10]
jne 0x6717d7d4
lea ecx, [edx + 2]
mov dword [eax + 0x38], ecx
mov edx, ecx
cmp ecx, dword [edi + 0x64]
jae 0x671809ce
mov ax, word [ecx]
and ax, word [esp + 0x24]
cmp ax, word [esp + 0x20]
mov eax, dword [esp + 0x10]
jne 0x671809ce
lea edx, [ecx + 2]
mov dword [eax + 0x38], edx
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180983
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x6718095b
movzx edx, word [ecx]
mov eax, 0x80
cmp edx, eax
jae 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
je 0x6717d6b8
mov eax, dword [esp + 0x10]
add ecx, 2
inc esi
mov dword [eax + 0x38], ecx
cmp esi, dword [eax + 0x20]
jbe 0x671809ed
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
cmp ecx, 0x80
jae 0x67180a61
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
mov eax, dword [esp + 0x10]
jne 0x6717d7d4
lea ecx, [edx + 2]
mov dword [eax + 0x38], ecx
mov edx, ecx
cmp ecx, dword [edi + 0x64]
jae 0x67180a87
mov ax, word [ecx]
and ax, word [esp + 0x24]
cmp ax, word [esp + 0x20]
mov eax, dword [esp + 0x10]
jne 0x67180a87
lea edx, [ecx + 2]
mov dword [eax + 0x38], edx
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180a3c
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x6718095b
movzx edx, word [ecx]
mov eax, 0x80
cmp edx, eax
jae 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
je 0x6717d6b8
mov eax, dword [esp + 0x10]
add ecx, 2
inc esi
mov dword [eax + 0x38], ecx
cmp esi, dword [eax + 0x20]
jbe 0x67180aa6
jmp 0x6717fa8e
jmp dword [ecx*4 + 0x67185b88]
xor edx, edx
inc edx
cmp eax, edx
mov ebx, edx
mov eax, dword [esp + 0x10]
jb 0x671810cd
mov esi, dword [eax + 0x38]
mov ecx, dword [edi + 0x64]
cmp esi, ecx
jae 0x6717fad5
mov eax, dword [edi + 0x98]
add edi, 0x9c
test eax, eax
je 0x67180b31
push dword [esp + 0x14]
push edi
push ecx
push eax
push esi
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x6717e8c8
jmp 0x67180b6b
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x67180b6b
mov ecx, dword [esp + 0x90]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x67180b6b
xor eax, eax
inc eax
cmp edx, eax
je 0x6717e8c8
mov ax, word [esi + 2]
cmp ax, word [ecx + 0xa2]
je 0x6717e8c8
mov eax, dword [esp + 0x90]
xor edx, edx
cmp word [eax + 0x4c], dx
je 0x67180bc5
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x90]
mov ecx, dword [eax + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0x64]
jb 0x67180bc1
mov eax, esi
cmp dword [eax + 0x98], edx
jne 0x67180bc5
push 2
pop eax
cmp dword [edi], eax
mov edi, esi
jne 0x67180bc7
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne 0x67180bc7
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x67180bc7
mov edi, esi
jmp 0x67180bc7
mov edi, eax
mov eax, dword [esp + 0x10]
push 2
pop ecx
add dword [eax + 0x38], ecx
inc ebx
mov esi, dword [eax + 0x38]
cmp ebx, dword [eax + 0x20]
jbe 0x67180afc
jmp 0x6717fa8a
lea edx, [eax + eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, edx
cmp ecx, eax
ja 0x6718095b
lea eax, [ecx + edx]
jmp 0x671804cb
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718043f
movzx eax, word [edx]
add edx, 2
mov ebx, dword [esp + 0x10]
mov ecx, eax
mov dword [ebx + 0x38], edx
cmp cx, word [esp + 0x30]
je 0x67180c7a
jbe case.0x6717d1ef.162
cmp cx, word [esp + 0x58]
jbe 0x67180c6d
cmp cx, word [esp + 0x28]
je 0x67180c89
mov ebx, 0x85
cmp cx, bx
je 0x67180c6d
mov ebx, 0x2027
cmp cx, bx
jbe case.0x6717d1ef.162
lea ecx, [ebx + 2]
cmp ax, cx
ja case.0x6717d1ef.162
push 2
pop eax
cmp word [edi + 0x4e], ax
je case.0x6717d1ef.162
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180c16
jmp 0x6717fa8a
mov eax, edx
cmp edx, dword [edi + 0x64]
jae 0x67180c9e
push 0xa
pop ecx
cmp word [edx], cx
jne 0x67180c9e
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
mov edx, eax
jmp 0x67180c7a
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718043f
mov ebx, dword [esp + 0x10]
movzx eax, word [edx]
add edx, 2
mov ecx, eax
mov dword [ebx + 0x38], edx
mov ebx, 0x180e
cmp cx, bx
ja 0x67180d0e
je case.0x6717d1ef.162
push 9
pop eax
cmp cx, ax
je case.0x6717d1ef.162
push 0x20
pop eax
cmp cx, ax
je case.0x6717d1ef.162
mov eax, 0xa0
cmp cx, ax
je case.0x6717d1ef.162
mov eax, 0x1680
cmp cx, ax
jmp 0x67180d46
mov ebx, 0x2000
cmp cx, bx
jb 0x67180d4c
add ebx, 0xa
cmp cx, bx
jbe case.0x6717d1ef.162
mov ebx, 0x202f
cmp cx, bx
je case.0x6717d1ef.162
add ebx, 0x30
cmp cx, bx
je case.0x6717d1ef.162
mov ecx, 0x3000
cmp ax, cx
je case.0x6717d1ef.162
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180cb6
jmp 0x6717fa8a
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718043f
mov ebx, dword [esp + 0x10]
movzx eax, word [edx]
add edx, 2
mov ecx, eax
mov dword [ebx + 0x38], edx
mov ebx, 0x180e
cmp cx, bx
ja 0x67180dbb
je 0x67180df1
push 9
pop eax
cmp cx, ax
je 0x67180df1
push 0x20
pop eax
cmp cx, ax
je 0x67180df1
mov eax, 0xa0
cmp cx, ax
je 0x67180df1
mov eax, 0x1680
cmp cx, ax
jmp 0x67180deb
mov ebx, 0x2000
cmp cx, bx
jb case.0x6717d1ef.162
add ebx, 0xa
cmp cx, bx
jbe 0x67180df1
mov ebx, 0x202f
cmp cx, bx
je 0x67180df1
add ebx, 0x30
cmp cx, bx
je 0x67180df1
mov ecx, 0x3000
cmp ax, cx
jne case.0x6717d1ef.162
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180d73
jmp 0x6717fa8a
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718043f
mov ebx, dword [esp + 0x10]
movzx eax, word [edx]
add edx, 2
push 0xa
mov ecx, eax
mov dword [ebx + 0x38], edx
pop ebx
cmp cx, bx
jb 0x67180e66
push 0xd
pop ebx
cmp cx, bx
jbe case.0x6717d1ef.162
add ebx, 0x78
cmp cx, bx
je case.0x6717d1ef.162
mov ebx, 0x2027
cmp cx, bx
jbe 0x67180e66
lea ecx, [ebx + 2]
cmp ax, cx
jbe case.0x6717d1ef.162
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180e18
jmp 0x6717fa8a
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718043f
mov ebx, dword [esp + 0x10]
movzx eax, word [edx]
add edx, 2
push 0xa
mov ecx, eax
mov dword [ebx + 0x38], edx
pop ebx
cmp cx, bx
jb case.0x6717d1ef.162
push 0xd
pop ebx
cmp cx, bx
jbe 0x67180ed7
add ebx, 0x78
cmp cx, bx
je 0x67180ed7
mov ebx, 0x2027
cmp cx, bx
jbe case.0x6717d1ef.162
lea ecx, [ebx + 2]
cmp ax, cx
ja case.0x6717d1ef.162
mov eax, dword [esp + 0x10]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x67180e89
jmp 0x6717fa8a
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x67180f1f
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x6717d6b8
mov eax, dword [esp + 0x10]
add edx, 2
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x20]
jbe 0x67180efa
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x6717d6b8
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x6717d6b8
mov eax, dword [esp + 0x10]
add edx, 2
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x20]
jbe 0x67180f48
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x67180fbf
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne 0x6717d6b8
mov eax, dword [esp + 0x10]
add edx, 2
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x20]
jbe 0x67180f9a
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x6717d6b8
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x6717d6b8
mov eax, dword [esp + 0x10]
add edx, 2
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x20]
jbe 0x67180fe8
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
cmp eax, ecx
mov esi, ecx
mov eax, dword [esp + 0x10]
jb 0x6717fa92
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x6718105f
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne 0x6717d6b8
mov eax, dword [esp + 0x10]
add edx, 2
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x20]
jbe 0x6718103a
jmp 0x6717fa8e
xor ecx, ecx
inc ecx
mov esi, ecx
cmp eax, ecx
jb 0x6717fa8e
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x6717d6b8
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x6717d6b8
mov eax, dword [esp + 0x10]
add edx, 2
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x20]
jbe 0x67181088
jmp 0x6717fa8e
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
jmp 0x6717fa92
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x14]
jmp 0x6717fa95
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x67181240
mov edx, dword [eax + 0x38]
xor ecx, ecx
inc ecx
cmp edx, dword [edi + 0x64]
jae 0x6718113a
test ebx, ebx
je 0x6718111f
mov eax, 0xfc00
mov ebp, 0xd800
and ax, word [edx]
cmp ax, bp
push 2
pop eax
cmove ecx, eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0xf
je 0x67181240
lea edx, [edx + ecx*2]
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x24]
jb 0x671810f9
jmp 0x67181240
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x67181240
cmp edx, dword [edi + 0x6c]
ja 0x67181154
cmp dword [edi + 0x34], ecx
je 0x67181240
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
jmp 0x67181240
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181262
movzx ecx, word [edx]
test ebx, ebx
je 0x671811c7
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x671811c7
movzx eax, word [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
push 9
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
pop ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
mov al, byte [eax + 0x6747cdc9]
cmp al, cl
je 0x67181205
push 5
pop ecx
cmp al, cl
je 0x67181205
cmp al, 8
je 0x67181205
xor eax, eax
mov ecx, eax
jmp 0x6718120a
xor eax, eax
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x671819ae
mov ebx, dword [esp + 0x14]
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x6718117c
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov esi, 0xfc00
mov ebp, dword [esp + 0x14]
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov ecx, dword [eax + 0x38]
jmp 0x67185113
mov edi, eax
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x6718123c
cmp edx, dword [edi + 0x6c]
ja 0x67181276
cmp dword [edi + 0x34], ecx
je 0x6718123c
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
jmp 0x6718123c
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181262
movzx ecx, word [edx]
test ebx, ebx
je 0x671812de
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x671812de
movzx eax, word [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov ecx, dword [eax*4 + 0x67495a70]
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x671819ae
mov ebx, dword [esp + 0x14]
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x67181297
jmp 0x67181235
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181262
movzx ecx, word [edx]
test ebx, ebx
je 0x671813a6
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x671813a6
movzx eax, word [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x6747cdc9]
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x671819ae
mov ebx, dword [esp + 0x14]
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x6718135b
jmp 0x67181235
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181262
movzx ecx, word [edx]
test ebx, ebx
je 0x67181467
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x67181467
movzx eax, word [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, ecx
mov ebx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x6747cdc8]
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x671819ae
mov ebx, dword [esp + 0x14]
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x6718141c
jmp 0x67181235
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181262
movzx ecx, word [edx]
test ebx, ebx
je 0x67181528
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x67181528
movzx eax, word [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
inc ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x67181566
cmp eax, 3
je 0x67181566
xor eax, eax
mov ecx, eax
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x671819ae
mov ebx, dword [esp + 0x14]
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x671814dd
jmp 0x67181235
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x20]
cmp ebp, dword [eax + 0x24]
jae 0x6718123c
mov edi, dword [eax + 0x38]
mov esi, edi
xor eax, eax
lea ebx, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edi, dword [eax + 0x64]
jae 0x6718170a
cmp dword [esp + 0x14], 0
mov edx, esi
movzx ecx, word [edi]
je 0x671815f9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x671815f9
movzx eax, word [edi + 2]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
mov edx, esi
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov ebx, eax
mov esi, 0x180e
cmp ecx, esi
ja 0x671816b8
mov eax, edx
je 0x671816fa
push 9
pop eax
cmp ecx, eax
jb 0x67181652
push 0xd
pop esi
mov eax, edx
cmp ecx, esi
jbe 0x671816fa
push 0x20
pop esi
cmp ecx, esi
je 0x671816fa
add esi, 0x65
cmp ecx, esi
je 0x671816fa
mov esi, 0xa0
cmp ecx, esi
je 0x671816fa
mov edx, 0x1680
cmp ecx, edx
je 0x671816fa
mov eax, ecx
mov edx, dword [esp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
cmp dword [eax*4 + 0x67495a70], 6
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x67181235
mov eax, edi
lea edi, [eax + ebx*2]
inc ebp
mov eax, dword [esp + 0x10]
mov esi, edi
mov dword [eax + 0x38], edi
cmp ebp, dword [eax + 0x24]
jb 0x671815ab
jmp 0x67181235
mov eax, 0x2000
cmp ecx, eax
jb 0x67181652
mov esi, 0x200a
mov eax, edx
cmp ecx, esi
jbe 0x671816fa
lea eax, [esi + 0x1d]
cmp ecx, eax
jbe 0x67181652
add esi, 0x1f
mov eax, edx
cmp ecx, esi
jbe 0x671816fa
mov esi, 0x202f
cmp ecx, esi
je 0x671816fa
add esi, 0x30
cmp ecx, esi
je 0x671816fa
mov edx, 0x3000
jmp 0x6718164a
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x28], 0xf
je 0x67181235
jmp 0x6718169d
xor ecx, ecx
cmp word [eax + 0x4c], cx
je 0x67181235
cmp edi, dword [eax + 0x6c]
mov edi, eax
jmp 0x6718126f
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x20]
cmp ebx, dword [eax + 0x24]
jae 0x6718123c
mov esi, dword [eax + 0x38]
xor eax, eax
lea edi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp esi, dword [eax + 0x64]
jae 0x671817f2
cmp dword [esp + 0x14], 0
movzx edx, word [esi]
je 0x67181781
mov ecx, 0xfc00
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x67181781
movzx eax, word [esi + 2]
mov ecx, 0x3ff
and edx, ecx
and eax, ecx
shl edx, 0xa
or edx, eax
push 2
pop eax
add edx, 0x10000
mov edi, eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
xor ecx, ecx
imul eax, eax, 0xc
inc ecx
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x671817c6
cmp eax, 3
je 0x671817c6
cmp edx, 0x5f
je 0x671817c6
xor eax, eax
mov ecx, eax
mov edx, dword [esp + 0x10]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x671819ae
lea esi, [esi + edi*2]
inc ebx
mov dword [eax + 0x38], esi
cmp ebx, dword [eax + 0x24]
jb 0x67181733
jmp 0x67181235
mov edi, eax
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x6718123c
cmp esi, dword [edi + 0x6c]
jmp 0x6718126f
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor ecx, ecx
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x90]
cmp edx, dword [ecx + 0x64]
jae 0x671818bf
movzx ecx, word [edx]
test ebx, ebx
je 0x6718186a
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x67181866
movzx eax, word [edx + 2]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
lea eax, [eax*4 + 0x6747c9f0]
jmp 0x6718187d
lea eax, [eax + 4]
cmp ecx, edx
je 0x671818af
mov edx, dword [eax]
cmp ecx, edx
jae 0x67181876
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0xf
jne 0x67181235
mov ecx, dword [esp + 0x10]
lea eax, [esi + esi]
add dword [ecx + 0x38], eax
mov eax, ecx
inc edi
mov edx, dword [eax + 0x38]
cmp edi, dword [eax + 0x24]
jb 0x6718181b
jmp 0x67181235
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0xf
je 0x67181235
jmp 0x67181891
mov edi, ecx
jmp 0x67181264
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181235
mov edx, dword [eax + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181983
movzx ecx, word [edx]
test ebx, ebx
je 0x67181924
mov ebx, 0xfc00
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x67181924
movzx eax, word [edx + 2]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x24
je 0x67181952
cmp ecx, 0x40
je 0x67181952
cmp ecx, 0x60
je 0x67181952
mov eax, 0xa0
cmp ecx, eax
jb 0x67181944
cmp ecx, 0xd7ff
jbe 0x67181952
cmp ecx, 0xe000
jae 0x67181952
xor eax, eax
mov ecx, eax
jmp 0x67181957
xor eax, eax
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x671819ae
mov ebx, dword [esp + 0x14]
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x671818d9
jmp 0x67181235
mov edi, eax
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x6718123c
cmp edx, dword [edi + 0x6c]
ja 0x6718199f
cmp dword [edi + 0x34], ecx
je 0x6718123c
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
jmp 0x67181280
mov edi, dword [esp + 0x90]
jmp 0x67181240
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
cmp eax, 0x16
jne 0x67181ada
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x67181ab1
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x14]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 0x64]
jae 0x67181a87
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [esp + 0x10]
mov esi, edx
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x67181a33
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67181a33
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
lea esi, [edx + 2]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, 0x10000
mov dword [eax + 0x38], esi
xor eax, eax
push eax
push ebp
push dword [ebx + 0x64]
push dword [ebx + 0x5c]
push esi
push ecx
call fcn.671a1f8a
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp eax, dword [ebx + 0x64]
jb 0x67181a75
xor ecx, ecx
cmp word [ebx + 0x4c], cx
je 0x67181a75
cmp eax, dword [ebx + 0x6c]
ja 0x67181a65
cmp dword [ebx + 0x34], ecx
je 0x67181a75
xor eax, eax
inc eax
mov dword [ebx + 0x2c], eax
cmp word [ebx + 0x4c], ax
ja 0x6717df68
mov eax, dword [esp + 0x10]
inc edi
cmp edi, dword [eax + 0x24]
jb 0x671819e5
mov edi, ebx
jmp 0x67181ab8
mov edi, ebx
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x67181aab
cmp eax, dword [edi + 0x6c]
ja 0x67181a9b
cmp dword [edi + 0x34], ecx
je 0x67181aab
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
mov eax, dword [esp + 0x10]
jmp 0x67181ab8
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x18]
mov esi, 0xfc00
mov ebp, dword [esp + 0x14]
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov esi, dword [eax + 4]
jmp 0x671850fb
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x67184b73.15
test ebx, ebx
je 0x67182257
jmp dword [eax*4 + 0x67185bc8]
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x20]
cmp ebx, dword [eax + 0x24]
jae 0x67181c17
mov edx, dword [eax + 0x38]
mov ecx, dword [edi + 0x64]
cmp edx, ecx
jae 0x67181c3d
mov eax, dword [edi + 0x98]
add edi, 0x9c
test eax, eax
je 0x67181b92
mov ebp, dword [esp + 0x14]
push ebp
push edi
push ecx
push eax
push edx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x67182247
mov ebp, dword [esp + 0x90]
xor edx, edx
cmp word [ebp + 0x4c], dx
je 0x67181bd1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [ebp + 0x64]
jb 0x67181bd1
cmp dword [ebp + 0x98], edx
jne 0x67181bd1
push 2
pop eax
cmp dword [edi], eax
mov edi, dword [esp + 0x90]
jne 0x67181bd8
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne 0x67181bd8
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x67181bd8
mov esi, dword [edi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x67181b3c
mov ebp, dword [esp + 0x90]
mov ax, word [edx]
cmp ax, word [ebp + 0xa0]
jne 0x67181b43
xor eax, eax
inc eax
cmp esi, eax
je 0x67181fb0
mov ax, word [edx + 2]
cmp ax, word [ebp + 0xa2]
je 0x67181fb0
jmp 0x67181b43
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov esi, eax
mov ecx, dword [eax + 0x38]
add ecx, 2
mov edx, ecx
mov dword [esi + 0x38], ecx
cmp edx, dword [edi + 0x64]
jae 0x67181c09
mov ax, word [ecx]
mov ebp, 0xfc00
and ax, bp
mov ebp, 0xdc00
cmp ax, bp
jne 0x67181c09
lea edx, [ecx + 2]
mov dword [esi + 0x38], edx
inc ebx
cmp ebx, dword [esi + 0x24]
jb 0x67181b08
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, 0xfc00
push 2
pop ecx
cmp dword [esp + 0x1c], ecx
je 0x6717d33d
mov eax, dword [eax + 0x38]
mov ebp, dword [esp + 0x10]
jmp 0x67184e2f
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x67181c13
cmp edx, dword [edi + 0x6c]
ja 0x67181c4f
cmp dword [edi + 0x34], ecx
je 0x67181c13
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
jmp 0x67181c13
mov ebx, dword [esp + 0x10]
or eax, 0xffffffff
cmp dword [ebx + 0x24], eax
jae 0x67181cb0
mov esi, dword [ebx + 0x20]
cmp esi, dword [ebx + 0x24]
jae 0x67181c13
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67181c3d
lea ecx, [edx + 2]
mov dword [ebx + 0x38], ecx
mov edx, ecx
cmp ecx, dword [edi + 0x64]
jae 0x67181ca5
mov ax, word [ecx]
mov ebp, 0xfc00
and ax, bp
mov ebp, 0xdc00
cmp ax, bp
jne 0x67181ca5
lea edx, [ecx + 2]
mov dword [ebx + 0x38], edx
inc esi
cmp esi, dword [ebx + 0x24]
jb 0x67181c78
jmp 0x67181c13
mov eax, dword [edi + 0x64]
xor ecx, ecx
mov dword [ebx + 0x38], eax
cmp word [edi + 0x4c], cx
je 0x67181c13
cmp eax, dword [edi + 0x6c]
jmp 0x67181c48
mov ebx, dword [esp + 0x10]
mov edx, dword [edi + 0x64]
mov eax, edx
mov esi, dword [ebx + 0x38]
sub eax, esi
mov ecx, dword [ebx + 0x24]
sub ecx, dword [ebx + 0x20]
sar eax, 1
cmp ecx, eax
jbe 0x67181ce9
mov dword [ebx + 0x38], edx
jmp 0x67181c3d
lea eax, [esi + ecx*2]
mov dword [ebx + 0x38], eax
jmp 0x67181c13
mov ebx, dword [esp + 0x10]
mov esi, dword [ebx + 0x20]
cmp esi, dword [ebx + 0x24]
jae 0x67181c13
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67181c3d
movzx ecx, word [edx]
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x67181d45
movzx eax, word [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
push 4
or ecx, eax
pop eax
push 2
add ecx, 0x10000
pop ebp
jmp 0x67181d4a
push 2
pop ebp
mov eax, ebp
cmp ecx, 0xd
jne 0x67181d6b
add edx, 2
mov dword [ebx + 0x38], edx
cmp edx, dword [edi + 0x64]
jae 0x67181c13
push 0xa
pop eax
cmp word [edx], ax
jne 0x67181da6
add edx, 2
jmp 0x67181da3
cmp ecx, 0xa
je 0x67181da1
cmp word [edi + 0x4e], bp
je 0x67181c13
push 0xb
pop ebp
cmp ecx, ebp
je 0x67181da1
push 0xc
pop ebp
cmp ecx, ebp
je 0x67181da1
add ebp, 0x79
cmp ecx, ebp
je 0x67181da1
mov ebp, 0x2028
cmp ecx, ebp
je 0x67181da1
inc ebp
cmp ecx, ebp
jne 0x67181c13
add edx, eax
mov dword [ebx + 0x38], edx
inc esi
cmp esi, dword [ebx + 0x24]
jb 0x67181d07
jmp 0x67181c13
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181e95
movzx ecx, word [edx]
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x67181e0f
movzx eax, word [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
mov eax, 0x180e
cmp ecx, eax
ja 0x67181e67
je 0x67181e8e
push 9
pop eax
cmp ecx, eax
je 0x67181e8e
push 0x20
pop eax
cmp ecx, eax
je 0x67181e8e
mov eax, 0xa0
cmp ecx, eax
je 0x67181e8e
mov eax, 0x1680
cmp ecx, eax
je 0x67181e8e
xor eax, eax
mov ecx, eax
xor eax, eax
cmp dword [ebx + 0x28], 0x12
sete al
cmp ecx, eax
je 0x67181e5b
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x67181dc8
mov edi, dword [esp + 0x90]
jmp 0x67181c13
mov eax, 0x2000
cmp ecx, eax
jb 0x67181e3a
add eax, 0xa
cmp ecx, eax
jbe 0x67181e8e
mov eax, 0x202f
cmp ecx, eax
je 0x67181e8e
add eax, 0x30
cmp ecx, eax
je 0x67181e8e
mov eax, 0x3000
jmp 0x67181e36
xor eax, eax
lea ecx, [eax + 1]
jmp 0x67181e3e
mov edi, eax
jmp 0x67181c3d
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67181e95
movzx ecx, word [edx]
mov ebp, 0xfc00
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x67181eee
movzx eax, word [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
push 0xa
pop eax
cmp ecx, eax
jb 0x67181f17
push 0xd
pop eax
cmp ecx, eax
jbe 0x67181f10
add eax, 0x78
cmp ecx, eax
je 0x67181f10
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja 0x67181f17
xor eax, eax
lea ecx, [eax + 1]
jmp 0x67181f1b
xor eax, eax
mov ecx, eax
xor eax, eax
cmp dword [ebx + 0x28], 0x14
sete al
cmp ecx, eax
je 0x67181e5b
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x67181eab
jmp 0x67181e5b
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
mov ebp, dword [esp + 0x90]
xor eax, eax
lea esi, [eax + 1]
cmp edx, dword [ebp + 0x64]
jae 0x67181fb7
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67181f93
movzx eax, word [edx + 2]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x100
jae 0x67181fa4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 8
jne 0x67181fb0
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x67181f5b
mov edi, ebp
jmp 0x67181c13
mov edi, ebp
jmp 0x67181c3d
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
mov ebp, dword [esp + 0x90]
xor eax, eax
lea esi, [eax + 1]
cmp edx, dword [ebp + 0x64]
jae 0x67181fb7
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67182010
movzx eax, word [edx + 2]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x100
jae 0x67181fb0
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 8
je 0x67181fb0
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x67181fd8
jmp 0x67181fb0
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
mov ebp, dword [esp + 0x90]
xor eax, eax
lea esi, [eax + 1]
cmp edx, dword [ebp + 0x64]
jae 0x67181fb7
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67182085
movzx eax, word [edx + 2]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x100
jae 0x6718209a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x67181fb0
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x67182049
jmp 0x67181fb0
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
mov ebp, dword [esp + 0x90]
xor eax, eax
lea esi, [eax + 1]
cmp edx, dword [ebp + 0x64]
jae 0x67181fb7
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67182101
movzx eax, word [edx + 2]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x100
jae 0x67181fb0
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x67181fb0
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x671820c5
jmp 0x67181fb0
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
mov ebp, dword [esp + 0x90]
xor eax, eax
inc eax
mov esi, eax
cmp edx, dword [ebp + 0x64]
jae 0x671821a3
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6718217d
movzx eax, word [edx + 2]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x100
jae 0x67182192
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x67181fb0
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x67182145
jmp 0x67181fb0
mov edi, ebp
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x67181c13
cmp edx, dword [edi + 0x6c]
ja 0x671821bf
cmp dword [edi + 0x34], ecx
je 0x67181c13
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
jmp 0x67181c59
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x67181e5b
mov edx, dword [ebx + 0x38]
mov ebp, dword [esp + 0x90]
xor eax, eax
inc eax
mov esi, eax
cmp edx, dword [ebp + 0x64]
jae 0x671821a3
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6718221d
movzx eax, word [edx + 2]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
push 2
pop eax
add ecx, 0x10000
mov esi, eax
cmp ecx, 0x100
jae 0x67181fb0
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x67181fb0
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x671821e5
jmp 0x67181fb0
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x90]
jmp 0x67181c1b
jmp dword [eax*4 + 0x67185c08]
mov ebp, dword [esp + 0x10]
mov ebx, dword [ebp + 0x20]
cmp ebx, dword [ebp + 0x24]
jae 0x671823aa
mov esi, dword [ebp + 0x38]
mov ecx, dword [edi + 0x64]
cmp esi, ecx
jae 0x6718234d
mov eax, dword [edi + 0x98]
add edi, 0x9c
test eax, eax
je 0x671822a6
push dword [esp + 0x14]
push edi
push ecx
push eax
push esi
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x671823aa
jmp 0x671822e0
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x671822e0
mov ecx, dword [esp + 0x90]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x671822e0
xor eax, eax
inc eax
cmp edx, eax
je 0x671823aa
mov ax, word [esi + 2]
cmp ax, word [ecx + 0xa2]
je 0x671823aa
mov eax, dword [esp + 0x90]
xor edx, edx
cmp word [eax + 0x4c], dx
je 0x67182336
mov ecx, dword [ebp + 0x38]
mov esi, dword [esp + 0x90]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0x64]
jb 0x67182332
mov eax, esi
cmp dword [eax + 0x98], edx
jne 0x67182336
push 2
pop eax
cmp dword [edi], eax
mov edi, esi
jne 0x67182338
mov ax, word [ecx]
cmp ax, word [edi + 0xa0]
jne 0x67182338
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x67182338
mov edi, esi
jmp 0x67182338
mov edi, eax
push 2
pop ecx
add dword [ebp + 0x38], ecx
inc ebx
mov esi, dword [ebp + 0x38]
cmp ebx, dword [ebp + 0x24]
jb 0x67182271
jmp 0x671823aa
xor eax, eax
cmp word [edi + 0x4c], ax
je 0x671823aa
cmp esi, dword [edi + 0x6c]
ja 0x6718235f
cmp dword [edi + 0x34], eax
je 0x671823aa
xor ebx, ebx
inc ebx
mov dword [edi + 0x2c], ebx
cmp word [edi + 0x4c], bx
jmp 0x671823a4
mov ebp, dword [esp + 0x10]
mov edx, dword [edi + 0x64]
mov eax, edx
mov esi, dword [ebp + 0x38]
sub eax, esi
mov ecx, dword [ebp + 0x24]
sub ecx, dword [ebp + 0x20]
sar eax, 1
cmp ecx, eax
jbe 0x671823cf
mov dword [ebp + 0x38], edx
xor eax, eax
cmp word [edi + 0x4c], ax
je 0x671823aa
cmp edx, dword [edi + 0x6c]
ja 0x6718239a
cmp dword [edi + 0x34], eax
je 0x671823aa
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
mov edi, dword [esp + 0x90]
mov esi, 0xfc00
push 2
pop edx
cmp dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
je 0x67184e3c
mov ecx, dword [ebp + 0x38]
jmp 0x67183ed9
lea eax, [esi + ecx*2]
mov dword [ebp + 0x38], eax
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x20]
cmp edx, dword [ebp + 0x24]
jae 0x671823aa
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x67182453
movzx eax, word [ecx]
push 0xd
pop ebx
cmp ax, bx
jne 0x67182408
add ecx, 2
mov dword [ebp + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jae 0x671823aa
cmp word [ecx], si
jne 0x67182448
jmp 0x67182442
cmp ax, si
je 0x67182442
push 2
pop ebx
cmp word [edi + 0x4e], bx
je 0x671823aa
push 0xb
pop ebx
cmp ax, bx
je 0x67182442
push 0xc
pop ebx
cmp ax, bx
je 0x67182442
add ebx, 0x79
cmp ax, bx
je 0x67182442
mov ebx, 0x2028
cmp ax, bx
je 0x67182442
inc ebx
cmp ax, bx
jne 0x671823aa
add ecx, 2
mov dword [ebp + 0x38], ecx
inc edx
cmp edx, dword [ebp + 0x24]
jb 0x671823e6
jmp 0x671823aa
xor eax, eax
cmp word [edi + 0x4c], ax
je 0x671823aa
cmp ecx, dword [edi + 0x6c]
jmp 0x67182393
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
mov ebx, 0x180e
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx ecx, word [edx]
mov eax, ecx
cmp ax, bx
ja 0x671824c8
je 0x671823aa
push 9
pop ecx
cmp ax, cx
je 0x671823aa
push 0x20
pop ecx
cmp ax, cx
je 0x671823aa
mov ecx, 0xa0
cmp ax, cx
je 0x671823aa
mov ecx, 0x1680
cmp ax, cx
jmp 0x671824f8
cmp ax, word [esp + 0x34]
jb 0x671824fe
cmp ax, word [esp + 0x38]
jbe 0x671823aa
cmp ax, word [esp + 0x3c]
je 0x671823aa
cmp ax, word [esp + 0x40]
je 0x671823aa
mov eax, 0x3000
cmp cx, ax
je 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x6718247f
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
mov ebx, 0x180e
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx ecx, word [edx]
mov eax, ecx
cmp ax, bx
ja 0x67182564
je 0x67182592
push 9
pop ecx
cmp ax, cx
je 0x67182592
push 0x20
pop ecx
cmp ax, cx
je 0x67182592
mov ecx, 0xa0
cmp ax, cx
je 0x67182592
mov ecx, 0x1680
cmp ax, cx
jmp 0x6718258c
cmp ax, word [esp + 0x34]
jb 0x671823aa
cmp ax, word [esp + 0x38]
jbe 0x67182592
cmp ax, word [esp + 0x3c]
je 0x67182592
cmp ax, word [esp + 0x40]
je 0x67182592
mov eax, 0x3000
cmp cx, ax
jne 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x6718252b
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov ecx, dword [ebp + 0x38]
push 0xa
pop ebx
cmp ecx, dword [edi + 0x64]
jae 0x67182453
movzx edx, word [ecx]
mov eax, edx
cmp ax, bx
jb 0x671825f7
cmp ax, word [esp + 0x28]
jbe 0x671823aa
cmp ax, word [esp + 0x44]
je 0x671823aa
cmp ax, word [esp + 0x48]
jbe 0x671825f7
mov eax, 0x2029
cmp dx, ax
jbe 0x671823aa
add ecx, 2
inc esi
mov dword [ebp + 0x38], ecx
cmp esi, dword [ebp + 0x24]
jb 0x671825b9
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov ecx, dword [ebp + 0x38]
push 0xa
pop ebx
cmp ecx, dword [edi + 0x64]
jae 0x67182453
movzx edx, word [ecx]
mov eax, edx
cmp ax, bx
jb 0x671823aa
cmp ax, word [esp + 0x28]
jbe 0x6718265c
cmp ax, word [esp + 0x44]
je 0x6718265c
cmp ax, word [esp + 0x48]
jbe 0x671823aa
mov eax, 0x2029
cmp dx, ax
ja 0x671823aa
add ecx, 2
inc esi
mov dword [ebp + 0x38], ecx
cmp esi, dword [ebp + 0x24]
jb 0x6718261e
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x671826a5
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x67182680
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x671823aa
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x671826c9
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x6718273d
mov ecx, eax
xor ebx, ebx
mov eax, dword [edi + 0x40]
inc ebx
test byte [ecx + eax], bl
jne 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x67182716
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
xor ebx, ebx
inc ebx
cmp edx, dword [edi + 0x64]
jae 0x67182799
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x671823aa
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], bl
je 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x67182764
jmp 0x671823aa
xor eax, eax
cmp word [edi + 0x4c], ax
je 0x671823aa
cmp edx, dword [edi + 0x6c]
ja 0x67182362
cmp dword [edi + 0x34], eax
je 0x671823aa
jmp 0x67182362
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x671827f4
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x671827cf
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x671823aa
mov edx, dword [ebp + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x67182388
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x671823aa
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x671823aa
add edx, 2
inc esi
mov dword [ebp + 0x38], edx
cmp esi, dword [ebp + 0x24]
jb 0x67182818
jmp 0x671823aa
mov ebp, dword [esp + 0x10]
xor eax, eax
cmp bl, 0x74
sete al
mov dword [ebp + 0x28], eax
mov edx, dword [ebp]
movzx eax, word [edi + 0x52]
movzx ecx, word [edx + 2]
movzx esi, word [edx + 4]
imul ecx, eax
mov eax, dword [edi + 0x54]
lea ecx, [eax + ecx*2]
lea eax, [edx + 6]
mov dword [ebp], eax
test esi, esi
je 0x671828d0
movzx eax, word [ecx]
dec esi
lea eax, [eax*2 - 2]
mov dword [ebp + 0x14], eax
cmp eax, dword [ebp + 0x50]
jae 0x6718289f
or edx, 0xffffffff
cmp dword [ebp + eax*4 + 0x54], edx
jne 0x671828d0
movzx eax, word [edi + 0x52]
lea ecx, [ecx + eax*2]
test esi, esi
jg 0x67182883
jmp 0x671828d0
mov ebp, dword [esp + 0x10]
xor eax, eax
cmp bl, 0x72
sete al
mov dword [ebp + 0x28], eax
mov eax, dword [ebp]
movzx eax, word [eax + 2]
lea eax, [eax*2 - 2]
mov dword [ebp + 0x14], eax
add dword [ebp], 4
mov edx, dword [ebp]
movzx eax, word [edx]
mov ecx, eax
cmp ecx, 0x62
jb 0x67182a86
cmp ecx, 0x67
jbe 0x67182926
push 0x69
pop ecx
cmp ax, cx
ja 0x67182a86
movzx eax, word [edx + 2]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp]
movzx ecx, word [eax + 4]
mov dword [ebp + 0x24], ecx
mov edx, dword [ebp]
movzx eax, word [edx]
mov ebx, dword [eax*4 + 0x6747ad78]
mov dword [esp + 0x1c], ebx
test ecx, ecx
jne 0x6718291e
or eax, 0xffffffff
mov dword [ebp + 0x24], eax
lea eax, [edx + 6]
mov dword [ebp], eax
jmp 0x6718294b
mov ebx, dword [ecx*4 + 0x6747ad78]
lea eax, [edx + 2]
mov dword [ebp], eax
mov eax, dword [ecx*4 + 0x6747ad20]
mov dword [ebp + 0x20], eax
mov eax, dword [ecx*4 + 0x6747ad4c]
mov dword [ebp + 0x24], eax
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp + 0x50]
jae 0x67182979
mov ecx, dword [ebp + eax*4 + 0x54]
or edx, 0xffffffff
cmp ecx, edx
je 0x67182979
cmp ecx, dword [ebp + eax*4 + 0x58]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
push 0
pop ecx
je 0x6717d20f
mov eax, dword [ebp + 0x20]
jmp 0x671829a0
mov eax, dword [ebp + 0x20]
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
push 0
pop ecx
test eax, eax
je 0x6717d20f
test dword [edi + 0x8c], 0x200
jne 0x6717d20f
xor ecx, ecx
inc ecx
mov esi, ecx
cmp eax, ecx
jb 0x671829d7
lea eax, [esp + 0x5c]
push eax
push edi
push ebp
push dword [ebp + 0x28]
push dword [ebp + 0x14]
call fcn.67185dbc
add esp, 0x14
test eax, eax
jne 0x67182a9f
mov eax, dword [esp + 0x5c]
add eax, eax
add dword [ebp + 0x38], eax
inc esi
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x671829a9
mov esi, 0xfc00
mov edx, dword [esp + 0x18]
push 0
pop ecx
cmp eax, dword [ebp + 0x24]
je 0x6717d20f
test ebx, ebx
je 0x67185238
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [ebp + 0x38]
mov dword [ebp + 4], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + ecx*4 + 0x58]
sub eax, dword [ebp + ecx*4 + 0x54]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp + 0x20]
cmp edi, dword [ebp + 0x24]
jae 0x67182a78
mov ebx, dword [esp + 0x90]
lea eax, [esp + 0x60]
push eax
push ebx
push ebp
push dword [ebp + 0x28]
push dword [ebp + 0x14]
call fcn.67185dbc
add esp, 0x14
test eax, eax
jne 0x67182a4e
mov eax, dword [esp + 0x60]
xor ecx, ecx
cmp eax, dword [ebp + 0xc]
cmovne esi, ecx
add eax, eax
add dword [ebp + 0x38], eax
inc edi
cmp edi, dword [ebp + 0x24]
jb 0x67182a1c
jmp 0x67182a70
jle 0x67182a70
xor eax, eax
cmp word [ebx + 0x4c], ax
je 0x67182a70
mov eax, dword [ebx + 0x64]
cmp eax, dword [ebx + 0x6c]
jbe 0x67182a70
xor eax, eax
inc eax
mov dword [ebx + 0x2c], eax
cmp word [ebx + 0x4c], ax
ja 0x6717df68
test esi, esi
je 0x671851bb
mov edi, dword [esp + 0x90]
xor edx, edx
jmp 0x67183971
lea eax, [esp + 0x7c]
push eax
push edi
push ebp
push dword [ebp + 0x28]
push dword [ebp + 0x14]
call fcn.67185dbc
add esp, 0x14
test eax, eax
je 0x67182abc
jle 0x67182aa9
mov eax, dword [edi + 0x64]
mov dword [ebp + 0x38], eax
jmp 0x67182aac
mov eax, dword [ebp + 0x38]
xor ebp, ebp
cmp eax, dword [edi + 0x64]
jb 0x6717dd53
jmp 0x6717ff7c
mov eax, dword [esp + 0x7c]
add eax, eax
add dword [ebp + 0x38], eax
jmp 0x6717ea8a
mov edx, dword [esp + 0x10]
push 2
pop eax
push 0x78
add dword [edx], eax
mov ecx, dword [edx]
pop edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx], ecx
cmp word [ecx], di
je 0x67182ad8
mov edi, dword [esp + 0x90]
lea eax, [ecx + 4]
mov dword [edx], eax
jmp 0x6718515a
mov ebp, dword [esp + 0x10]
xor edx, edx
cmp dword [edi + 0x30], edx
jne 0x671851c3
cmp dword [ebp + 0x18], edx
je 0x671851c3
mov ecx, dword [ebp]
jmp 0x6718358d
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x7c]
push eax
push edi
push ebx
call fcn.6717cfa2
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x6717d1ef.162
js 0x6717d4e6
mov eax, dword [esp + 0x7c]
add eax, eax
add dword [ebx], eax
jmp 0x6717ea8e
mov ebp, dword [esp + 0x10]
push 0x78
pop ebx
mov eax, dword [ebp]
movzx eax, word [eax + 2]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp]
cmp word [ecx + eax*2], bx
je 0x67182b67
add eax, 0xfffffffe
mov dword [ebp + 0xc], eax
lea esi, [ecx + 4]
mov dword [ebp], esi
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x76
je 0x67182b7c
cmp eax, 0x77
jne 0x67182bae
lea eax, [esp + 0x7c]
push eax
push edi
push ebp
call fcn.6717cfa2
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x6717d1ef.162
js 0x6717d4e6
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + ecx]
add dword [ebp], eax
sub dword [ebp + 0xc], ecx
mov esi, dword [ebp]
movzx ecx, word [esi]
movzx eax, cx
movzx edx, cx
sub eax, 0x90
je 0x67182cf6
sub eax, 1
je 0x67182c84
sub eax, 1
je 0x67182c62
sub eax, 1
je 0x67182c0f
sub eax, 1
je 0x67182ccf
sub eax, 1
je 0x67184f7b
push 0xd
pop ecx
sub eax, ecx
je 0x67182ccf
cmp edx, 0x7e
je 0x671851ca
lea eax, [ecx + 0x73]
cmp dx, ax
je 0x671851ca
xor eax, eax
jmp 0x671851cd
or eax, 0xffffffff
cmp dword [ebp + 0x44], eax
je 0x67182ccf
movzx ecx, word [esi + 2]
movzx edi, word [edi + 0x52]
mov eax, dword [esp + 0x90]
movzx edx, word [esi + 4]
imul ecx, edi
mov eax, dword [eax + 0x54]
lea esi, [eax + ecx*2]
test edx, edx
je 0x67182cc8
movzx eax, word [esi]
xor ecx, ecx
dec edx
cmp eax, dword [ebp + 0x44]
sete cl
je 0x67182c54
lea esi, [esi + edi*2]
test edx, edx
jg 0x67182c3f
mov edi, dword [esp + 0x90]
test ecx, ecx
jmp 0x67182d0d
or eax, 0xffffffff
cmp dword [ebp + 0x44], eax
je 0x67182ccf
movzx eax, word [esi + 2]
cmp eax, 0xffff
je 0x67184f7b
cmp eax, dword [ebp + 0x44]
je 0x67184f7b
jmp 0x67182ccf
movzx edi, word [edi + 0x52]
movzx ecx, word [esi + 2]
mov eax, dword [esp + 0x90]
movzx edx, word [esi + 4]
imul ecx, edi
mov eax, dword [eax + 0x54]
lea ecx, [eax + ecx*2]
test edx, edx
je 0x67182cc8
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
cmp eax, dword [ebp + 0x50]
jae 0x67182cc1
or ebx, 0xffffffff
cmp dword [ebp + eax*4 + 0x54], ebx
jne 0x67184f74
lea ecx, [ecx + edi*2]
test edx, edx
jg 0x67182ca4
mov edi, dword [esp + 0x90]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp]
lea esi, [ecx + eax*2]
mov dword [ebp], esi
cmp byte [ebp + 0x31], 0x8f
jne 0x6717ea8a
mov dword [esp + 0x78], 0x2008f
mov byte [ebp + 0x30], 0x23
jmp 0x671856dc
movzx eax, word [esi + 2]
lea eax, [eax*2 - 2]
cmp eax, dword [ebp + 0x50]
jae 0x67182ccf
or ecx, 0xffffffff
cmp dword [ebp + eax*4 + 0x54], ecx
je 0x67182ccf
jmp 0x67184f7b
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
movzx edx, word [eax + 2]
test ebp, ebp
je 0x67182d55
test edx, edx
je 0x67182d50
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [edi + 0x60]
jbe case.0x6717d1ef.162
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, si
cmp ax, word [esp + 0x20]
jne 0x67182d4c
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
test edx, edx
jne 0x67182d29
mov ecx, dword [ebx + 0x38]
jmp 0x67182d6f
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x5c]
sar eax, 1
cmp edx, eax
jg case.0x6717d1ef.162
lea eax, [edx + edx]
sub ecx, eax
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x6c]
jae 0x67182d77
mov dword [edi + 0x6c], ecx
add dword [ebx], 4
jmp 0x6718515a
mov edx, dword [esp + 0x10]
push 0x78
pop edi
mov ecx, dword [edx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx], ecx
cmp word [ecx], di
je 0x67182d88
mov edi, dword [esp + 0x90]
jmp 0x6718515a
mov ebp, dword [esp + 0x10]
mov ecx, 0x86
mov esi, dword [ebp]
movzx eax, word [esi + 2]
add eax, eax
sub esi, eax
movzx eax, word [esi]
cmp ax, cx
je 0x67182e29
add ecx, 4
cmp ax, cx
je 0x67182e29
mov edx, dword [edi + 0x10]
add edx, dword [ebp + 0x4c]
mov ecx, dword [esp + 0x8c]
mov edi, edx
sub edi, ecx
mov dword [esp + 0x18], edx
mov eax, dword [edi + 0x4c]
mov dword [ebp + 0x4c], eax
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x67182e24
mov eax, dword [ebp + 0x50]
shl eax, 2
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [edi + 0x54]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp + 0x50]
add esp, 0xc
mov dword [edi + 0x50], eax
mov eax, dword [ebp + 0x40]
mov dword [edi + 0x40], eax
mov eax, ebp
sub eax, edi
mov dword [ebp + 0x10], eax
xor ecx, ecx
inc ecx
mov esi, ecx
jmp 0x6717df74
movzx eax, word [esi]
jmp 0x67182e32
mov ecx, dword [esp + 0x8c]
xor edi, edi
movzx eax, ax
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x6717facc.81
movzx eax, byte [eax + 0x67185c64]
jmp dword [eax*4 + 0x67185c48]
mov ecx, dword [esp + 0x90]
mov eax, dword [ebp + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x67182e61
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x38]
mov dword [ebp + 0x38], eax
jmp case.0x6717facc.81
mov ecx, dword [esp + 0x90]
mov eax, dword [ebp + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x67182e7e
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x38]
mov dword [ebp + 0x38], eax
mov eax, ebp
sub eax, edi
push 0x78
mov dword [ebp + 0x10], eax
mov ecx, dword [edi]
pop edx
jmp 0x67182e94
mov dword [edi], ecx
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
cmp word [ecx], dx
je 0x67182e92
jmp case.0x6717facc.81
mov ebx, dword [esp + 0x14]
push ebx
push dword [ebp + 0x38]
push dword [edi + 0x38]
call fcn.671a2187
add esp, 0xc
test eax, eax
jne 0x67182f38
jmp 0x6717f12c
movzx eax, word [esi + 4]
cmp dword [ebp + 0x44], eax
jne 0x67182f04
mov esi, edx
sub esi, ecx
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebp + 0x54]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [ebp + 0x44], eax
mov eax, dword [esi]
add eax, 4
mov dword [ebp], eax
jmp 0x6717ea83
mov ebx, dword [esp + 0x90]
lea edx, [eax + eax]
mov dword [ebp + 0x48], eax
lea ecx, [edx - 2]
mov eax, dword [edi + 0x38]
sub eax, dword [ebx + 0x5c]
sar eax, 1
mov dword [ebp + ecx*4 + 0x54], eax
mov eax, dword [ebp + 0x38]
sub eax, dword [ebx + 0x5c]
sar eax, 1
mov dword [ebp + ecx*4 + 0x58], eax
cmp ecx, dword [ebp + 0x50]
jb case.0x6717facc.81
mov dword [ebp + 0x50], edx
mov ebx, dword [esp + 0x14]
mov edx, dword [ebp]
cmp word [edx], 0x7c
jne 0x67182f5f
push dword [esp + 0x64]
lea eax, [ebp + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x6717d665
mov cl, byte [ebp + 0x31]
cmp cl, 0x79
je 0x67182f7b
test edi, edi
je 0x671851fb
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x671851fb
mov edi, dword [esp + 0x90]
add dword [ebp], 4
jmp 0x6717ea8a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x5c]
jne case.0x6717d1ef.162
xor eax, eax
inc eax
test byte [edi + 0x88], al
jne case.0x6717d1ef.162
push 2
pop eax
add dword [ecx], eax
jmp 0x6717d33d
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x5c]
je 0x67182faa
jmp case.0x6717d1ef.162
test byte [edi + 0x88], 2
jne case.0x6717d1ef.162
test byte [edi + 0x8c], 0x10
je case.0x6717d1ef.23
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x64]
jb case.0x6717d1ef.162
xor eax, eax
cmp word [edi + 0x4c], ax
je 0x67182faa
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x67182faa
mov ebp, dword [esp + 0x10]
mov esi, dword [edi + 0x64]
mov edx, dword [ebp + 0x38]
cmp edx, esi
jae 0x67183090
mov eax, dword [edi + 0x98]
lea ebx, [edi + 0x9c]
test eax, eax
je 0x6718304a
push dword [esp + 0x14]
push ebx
push esi
push eax
push edx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
je 0x671830c0
mov eax, dword [esp + 0x90]
mov edi, dword [ebx]
mov edx, dword [ebp + 0x38]
mov esi, dword [eax + 0x64]
jmp 0x6718307e
mov edi, dword [ebx]
mov ecx, esi
lea eax, [edi + edi]
sub ecx, eax
cmp edx, ecx
ja 0x671830b9
mov ecx, dword [esp + 0x90]
mov ax, word [edx]
cmp ax, word [ecx + 0xa0]
jne 0x671830b5
xor eax, eax
inc eax
cmp edi, eax
je 0x6718307e
mov ax, word [edx + 2]
cmp ax, word [ecx + 0xa2]
jne 0x671830b5
lea eax, [edi + edi]
mov edi, dword [esp + 0x90]
sub esi, eax
cmp edx, esi
jne 0x671830c0
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x671830a6
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
push 2
pop eax
add dword [ebp], eax
mov edx, dword [esp + 0x18]
jmp 0x6717d1fd
mov edi, ecx
jmp 0x671830c0
mov edi, dword [esp + 0x90]
xor eax, eax
cmp word [edi + 0x4c], ax
je 0x67183108
mov ecx, dword [ebp + 0x38]
xor ebp, ebp
lea eax, [ecx + 2]
cmp eax, dword [edi + 0x64]
jb 0x6717dd53
cmp dword [edi + 0x98], ebp
jne 0x6717dd53
push 2
pop eax
cmp dword [ebx], eax
jne 0x6717dd53
mov ax, word [ecx]
xor ecx, ecx
inc ecx
cmp ax, word [edi + 0xa0]
jne 0x6717dd56
jmp 0x6717faf2
xor ebp, ebp
jmp 0x6717dd53
mov ebx, dword [esp + 0x10]
xor ecx, ecx
inc ecx
test byte [edi + 0x88], cl
je 0x67183137
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jne 0x67183137
xor edx, edx
mov eax, dword [esp + 0x10]
mov esi, edx
mov ebx, dword [esp + 0x14]
jmp 0x6717d4f3
mov ecx, dword [ebx + 0x38]
mov esi, dword [edi + 0x5c]
cmp ecx, esi
je 0x67183183
cmp ecx, dword [edi + 0x64]
jne 0x67183156
test dword [edi + 0x8c], 0x200000
je case.0x6717d1ef.162
mov edx, dword [edi + 0x98]
test edx, edx
je 0x6718318b
cmp ecx, esi
jbe case.0x6717d1ef.162
push ebp
lea eax, [edi + 0x9c]
push eax
push esi
push edx
push ecx
call fcn.671a0d23
add esp, 0x14
test eax, eax
je case.0x6717d1ef.162
push 2
pop eax
jmp 0x67182b40
mov edi, dword [edi + 0x9c]
lea edx, [edi + edi]
lea eax, [esi + edx]
cmp ecx, eax
jb 0x6717d373
mov esi, dword [esp + 0x90]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne 0x671831cf
xor eax, eax
inc eax
cmp edi, eax
mov edi, esi
je 0x67183183
mov ax, word [ecx + 2]
cmp ax, word [edi + 0xa2]
je 0x67183183
jmp case.0x6717d1ef.162
mov edi, esi
jmp case.0x6717d1ef.162
mov ebx, dword [esp + 0x10]
mov ecx, dword [edi + 0x64]
mov edx, dword [ebx + 0x38]
cmp edx, ecx
jae 0x671832b6
mov eax, dword [edi + 0x98]
add edi, 0x9c
test eax, eax
je 0x67183212
push ebp
push edi
push ecx
push eax
push edx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
je 0x67183252
mov edi, dword [esp + 0x90]
jmp 0x67183246
mov esi, dword [edi]
mov ebp, dword [esp + 0x90]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x67183259
mov ax, word [edx]
cmp ax, word [ebp + 0xa0]
jne 0x67183259
xor eax, eax
inc eax
cmp esi, eax
je 0x67183244
mov ax, word [edx + 2]
cmp ax, word [ebp + 0xa2]
jne 0x67183259
mov edi, ebp
xor ecx, ecx
push 2
pop eax
add dword [ebx], eax
jmp 0x671830ac
mov ebp, dword [esp + 0x90]
xor edx, edx
cmp word [ebp + 0x4c], dx
je 0x671832a7
mov ecx, dword [ebx + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [ebp + 0x64]
jb 0x671832a7
cmp dword [ebp + 0x98], edx
jne 0x671832a7
push 2
pop eax
cmp dword [edi], eax
mov edi, dword [esp + 0x90]
jne 0x671832ae
mov ax, word [ecx]
xor ecx, ecx
inc ecx
cmp ax, word [edi + 0xa0]
jne 0x67183128
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
jmp 0x67183128
mov edi, dword [esp + 0x90]
xor ecx, ecx
inc ecx
jmp 0x67183128
xor ecx, ecx
test byte [edi + 0x88], 2
je 0x671832d2
mov eax, dword [esp + 0x10]
xor edx, edx
mov ebx, dword [esp + 0x14]
mov esi, edx
jmp 0x6717d4f2
cmp word [edi + 0x4c], cx
je 0x67183248
cmp edx, dword [edi + 0x6c]
ja 0x671832ea
cmp dword [edi + 0x34], ecx
je 0x67183248
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x67183248
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x5c]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x38], eax
jmp 0x67182fbe
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
jmp 0x67182faa
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x90]
mov edi, dword [ebp + 0x38]
cmp edi, dword [esi + 0x60]
je 0x67183421
cmp dword [esp + 0x14], 0
lea edx, [edi - 2]
je 0x67183399
movzx eax, word [edx]
mov ebx, 0xfc00
mov ecx, eax
and ecx, ebx
movzx esi, cx
cmp cx, word [esp + 0x20]
jne 0x6718335e
movzx eax, word [edx - 2]
mov ecx, 0xdc00
cmp si, cx
movzx ecx, ax
mov eax, ecx
cmovne edx, edi
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x67183390
movzx eax, word [edx]
mov ebx, 0x3ff
and ecx, ebx
and eax, ebx
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, dword [esp + 0x90]
jmp 0x6718339e
movzx ecx, word [edx]
mov edx, edi
add edx, 0xfffffffe
cmp edx, dword [esi + 0x6c]
jae 0x671833ac
mov dword [esi + 0x6c], edx
mov edi, dword [ebp + 0x38]
test dword [esi + 0x8c], 0x20000
je 0x67183404
cmp ecx, 0x5f
jne 0x671833c4
xor eax, eax
lea ebx, [eax + 1]
jmp 0x67183400
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
inc ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x671833fe
cmp eax, 3
jne 0x6718341f
mov ebx, ecx
xor ecx, ecx
jmp 0x67183423
mov eax, 0xff
cmp ecx, eax
ja 0x6718341f
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je 0x6718341f
xor eax, eax
inc eax
xor ecx, ecx
mov ebx, eax
jmp 0x67183426
xor ecx, ecx
mov ebx, ecx
xor eax, eax
inc eax
cmp edi, dword [esi + 0x64]
jb 0x67183464
cmp word [esi + 0x4c], cx
je 0x67183458
cmp edi, dword [esi + 0x6c]
mov edi, dword [esp + 0x90]
ja 0x67183446
cmp dword [edi + 0x34], ecx
je 0x67183521
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
jmp 0x67183521
mov edi, dword [esp + 0x90]
jmp 0x67183521
cmp dword [esp + 0x14], 0
lea esi, [edi + 2]
mov edx, esi
je 0x671834c4
mov eax, dword [esp + 0x90]
cmp edx, dword [eax + 0x64]
jae 0x67183496
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x67183496
push 2
pop eax
add edx, eax
movzx ecx, word [edi]
mov edi, 0xfc00
mov eax, ecx
and eax, edi
mov edi, 0xd800
cmp eax, edi
jne 0x671834c7
movzx eax, word [esi]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x671834c7
movzx ecx, word [edi]
mov edi, dword [esp + 0x90]
cmp edx, dword [edi + 0x70]
jbe 0x671834d6
mov dword [edi + 0x70], edx
test dword [edi + 0x8c], 0x20000
je 0x67183525
cmp ecx, 0x5f
je 0x67183537
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
inc ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x67183521
cmp eax, 3
jne 0x6718353e
mov edx, ecx
jmp 0x67183542
mov eax, 0xff
cmp ecx, eax
ja 0x6718353e
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x6718353e
xor eax, eax
lea edx, [eax + 1]
jmp 0x67183542
xor eax, eax
mov edx, eax
mov eax, dword [ebp]
xor edx, ebx
push 5
movzx ecx, word [eax]
add eax, 2
mov dword [ebp], eax
pop eax
cmp cx, ax
jne 0x6718355d
xor eax, eax
inc eax
xor edx, eax
mov ebp, dword [esp + 0x14]
test edx, edx
mov edx, dword [esp + 0x18]
push 0
pop ecx
je 0x6717d1c6
mov eax, dword [esp + 0x10]
xor edx, edx
mov esi, edx
mov ebx, ebp
jmp 0x6717d4f0
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp + 4]
mov dword [ebp], ecx
movzx eax, word [ecx + 2]
push 0x78
lea edx, [ecx + eax*2]
mov dword [ebp + 4], edx
mov ecx, dword [ebp]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
lea esi, [ecx + eax*2]
pop eax
cmp word [edx], ax
je 0x67185219
mov dword [ebp], esi
jmp 0x6717ea8a
cmp esi, 0xfffffc1f
jne 0x671835f3
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edi + 0x7c], eax
jae 0x6717d6bc
push 0x78
pop ebx
cmp word [ecx], bx
mov ebx, dword [esp + 0x14]
je 0x671835f1
push 0x78
pop ecx
cmp word [eax], cx
push 1
pop ecx
jne case.0x6718395c.35
mov esi, edx
push 1
pop ecx
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp]
push 0x78
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
pop eax
mov dword [ebp], ecx
cmp word [ecx], ax
je 0x671854e4
jmp 0x6717d6ba
cmp esi, 0xfffffc19
je 0x67184e88
test esi, esi
je 0x67183638
cmp esi, 0xfffffc1f
jne case.0x6718395c.35
mov ecx, dword [ebp]
push 0x78
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
pop eax
mov dword [ebp], ecx
cmp word [ecx], ax
je 0x67185586
jmp 0x6717d6ba
cmp esi, 0xfffffc19
je 0x6717f3ca
cmp esi, 0xfffffc1a
jle case.0x6718395c.35
cmp esi, 0xfffffc1d
jle 0x67184ee7
cmp esi, 0xfffffc1f
je 0x67184ec9
test esi, esi
je 0x67184ec9
mov eax, dword [esp + 0x10]
cmp esi, ecx
jne 0x6717d4f3
jmp 0x6717f3ca
cmp esi, 0xfffffc19
je 0x67184f2e
cmp esi, 0xfffffc1a
jle case.0x6718395c.35
cmp esi, 0xfffffc1d
jle 0x67184f24
cmp esi, 0xfffffc1f
je 0x67184f01
test esi, esi
je 0x67184f01
cmp esi, ecx
je 0x67184f4f
jmp case.0x6718395c.35
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
add eax, eax
sub ecx, eax
mov dword [ebp], ecx
jmp 0x6717ea8a
test esi, esi
je 0x67182f82
jmp case.0x6718395c.35
cmp esi, 0xfffffc1a
jne 0x6718373e
mov dword [ebp + 0x24], ecx
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jne 0x67185224
mov ecx, dword [ebp]
push 0x78
pop ebx
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp], ecx
cmp word [ecx], bx
je 0x67183729
mov ebx, dword [esp + 0x14]
jmp 0x6718379a
cmp esi, 0xfffffc1f
jne 0x67183776
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edi + 0x7c], eax
jae 0x6717d6bc
push 0x78
pop ebx
cmp word [ecx], bx
mov ebx, dword [esp + 0x14]
je 0x67183774
push 0x78
pop ecx
cmp word [eax], cx
push 1
pop ecx
jne case.0x6718395c.35
mov esi, edx
push 1
pop ecx
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp]
push 0x78
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
pop eax
mov dword [ebp], ecx
cmp word [ecx], ax
je 0x6718549a
cmp dword [ebp + 0x24], edx
jne 0x671837cd
cmp dword [ebp + 0x28], edx
jne 0x671837cd
jmp 0x6717d6ba
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp + 4]
push 0x78
pop edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp + 4], ecx
cmp word [ecx], di
je 0x671837b7
mov edi, dword [esp + 0x90]
lea eax, [ecx + 4]
mov dword [ebp], eax
jmp 0x6717ea8a
test esi, esi
jne case.0x6718395c.35
push 2
pop eax
add dword [ebp], eax
jmp 0x6717ea8a
mov edx, dword [ebp + 4]
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
lea eax, [esi + 0x3e5]
cmp eax, 4
ja 0x67183837
mov eax, dword [ebp + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x84], eax
jne 0x67183837
cmp esi, 0xfffffc1f
jne 0x6717d6b8
cmp dword [edi + 0x7c], ecx
jae 0x6717d6b8
push 0x78
pop eax
cmp word [edx], ax
je 0x67183845
cmp word [ecx], ax
je 0x67183845
jmp 0x6717d6b8
push 0
pop edx
test esi, esi
jne 0x6717d6bc
push 0x78
pop eax
mov dword [ebp + 4], ecx
cmp word [ecx], ax
je 0x67185566
jmp 0x6717d6b8
cmp esi, 0xfffffc1e
jne case.0x6718395c.35
mov eax, dword [ebp]
push dword [edi + 0x80]
add eax, 4
push eax
call fcn.6719f83c
pop ecx
pop ecx
push 0
pop edx
push 1
pop ecx
test eax, eax
jne case.0x6718395c.35
mov eax, dword [ebp + 0x38]
dec esi
mov dword [edi + 0x80], eax
jmp 0x6717d6bc
test esi, esi
jne case.0x6718395c.35
mov esi, 0xfffffc1b
jmp 0x671838df
test esi, esi
jne case.0x6718395c.35
mov esi, 0xfffffc1c
jmp 0x671838df
test esi, esi
jne case.0x6718395c.35
mov eax, dword [ebp + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x80], eax
jmp 0x671838df
test esi, esi
jne case.0x6718395c.35
mov eax, dword [ebp]
mov esi, 0xfffffc1e
add eax, 4
mov dword [edi + 0x80], eax
jmp 0x671838df
test esi, esi
jne case.0x6718395c.35
mov eax, dword [ebp]
mov esi, 0xfffffc1f
mov dword [edi + 0x7c], eax
mov eax, dword [ebp + 0x44]
mov dword [edi + 0x84], eax
mov eax, dword [esp + 0x10]
jmp 0x6717d4f3
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
lea eax, [esp + 0x6c]
push eax
push edi
push ebp
push dword [ebp + 0x28]
push dword [ebp + 0x14]
call fcn.67185dbc
add esp, 0x14
test eax, eax
je 0x6718522f
jle 0x6718392e
mov eax, dword [edi + 0x64]
mov dword [ebp + 0x38], eax
jmp 0x67183931
mov eax, dword [ebp + 0x38]
xor ebp, ebp
cmp eax, dword [edi + 0x64]
jb 0x6717ed0b
jmp 0x671801d5
cmp eax, 0x64
ja 0x67183f71
je 0x67183eee
sub eax, 0x15
cmp eax, 0xf
ja case.0x67184b73.15
jmp dword [eax*4 + 0x67185c78]
test esi, esi
jne case.0x6718395c.35
mov eax, dword [ebp + 0xc]
neg eax
add eax, eax
add dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jb 0x67183999
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x15
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
mov eax, dword [ebp + 4]
cmp dword [ebp + 0x38], eax
jne 0x67185244
mov ebx, dword [esp + 0x14]
jmp 0x6717d6ba
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
add eax, 2
mov dword [ebp + 0x38], eax
mov eax, 0xff
cmp ecx, eax
jbe 0x671839e0
cmp byte [ebp + 0x31], 0x6e
jmp 0x671839f3
mov edx, dword [ebp + 8]
mov esi, ecx
xor eax, eax
shr esi, 3
and ecx, 7
inc eax
shl eax, cl
test byte [esi + edx], al
je 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x17
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
jmp 0x6717ead7
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
cmp dword [ebp + 0x28], ecx
je 0x67183a4d
cmp dword [ebp + 0x2c], ecx
jne 0x6717d6b8
add eax, 2
mov dword [ebp + 0x38], eax
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x19
jmp 0x671856dc
add dword [ebp + 0x38], 0xfffffffe
test esi, esi
je 0x6717dfc8
jmp case.0x6718395c.35
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov esi, dword [ebp + 0x38]
cmp esi, dword [edi + 0x64]
jae 0x67183b58
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
jne 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x1b
jmp 0x671856dc
add dword [ebp + 0x38], 0xfffffffe
test esi, esi
je 0x6717e0e3
jmp case.0x6718395c.35
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
cmp dword [ebp + 0x28], ecx
je 0x6717d6b8
cmp dword [ebp + 0x2c], ecx
je 0x6717d6b8
add eax, 2
mov dword [ebp + 0x38], eax
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x1d
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x6717ea8a
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x1e
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov esi, dword [ebp + 0x38]
cmp esi, dword [edi + 0x64]
jb 0x67183b6c
xor ebp, ebp
cmp word [edi + 0x4c], bp
je 0x6717ed0b
cmp esi, dword [edi + 0x6c]
jmp 0x671801e2
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
je 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x1f
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x6717ea8a
mov esi, dword [ebp]
push 0x20
jmp 0x671851f8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov edx, dword [ebp + 0x38]
mov ecx, dword [edi + 0x64]
cmp edx, ecx
jae 0x6718049d
push 0xc
pop esi
cmp dword [ebp + 0x28], esi
jne 0x67183c3c
mov eax, dword [edi + 0x98]
lea esi, [edi + 0x9c]
test eax, eax
je 0x67183c06
push ebx
push esi
push ecx
push eax
push edx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x6717f3c5
mov edx, dword [ebp + 0x38]
jmp 0x67183c39
mov esi, dword [esi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x67183c39
mov ax, word [edx]
cmp ax, word [edi + 0xa0]
jne 0x67183c39
xor ecx, ecx
inc ecx
cmp esi, ecx
je 0x6717f3c8
mov ax, word [edx + 2]
cmp ax, word [edi + 0xa2]
je 0x6717f3c8
push 0xc
pop esi
movzx ecx, word [edx]
add edx, 2
mov dword [ebp + 0x38], edx
mov eax, dword [ebp + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x67184b73.15
jmp dword [eax*4 + 0x67185cb8]
push 0xa
pop eax
cmp ecx, eax
je case.0x67183c54.13
jbe 0x6717f3c5
cmp ecx, esi
jbe 0x67183c95
push 0xd
pop esi
cmp ecx, esi
je 0x67185282
add eax, 0x7b
cmp ecx, eax
je 0x67183c95
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja 0x6717f3c8
jmp 0x67183c98
xor ecx, ecx
inc ecx
push 2
pop eax
cmp word [edi + 0x4e], ax
jne case.0x67183c54.13
jmp 0x6717f3c8
mov eax, 0x180e
cmp ecx, eax
ja 0x67183ce8
je 0x6717d6b8
push 9
pop eax
cmp ecx, eax
je 0x6717d6b8
push 0x20
pop eax
cmp ecx, eax
je 0x6717d6b8
mov eax, 0xa0
cmp ecx, eax
je 0x6717d6b8
mov eax, 0x1680
cmp ecx, eax
jmp 0x67183e98
mov eax, 0x2000
cmp ecx, eax
jb case.0x67183c54.13
add eax, 0xa
cmp ecx, eax
jbe 0x6717d6b8
mov eax, 0x202f
cmp ecx, eax
je 0x6717d6b8
add eax, 0x30
cmp ecx, eax
je 0x6717d6b8
mov eax, 0x3000
jmp 0x67183ce1
mov eax, 0x180e
cmp ecx, eax
ja 0x67183d5d
je case.0x67183c54.13
push 9
pop eax
cmp ecx, eax
je case.0x67183c54.13
push 0x20
pop eax
cmp ecx, eax
je case.0x67183c54.13
mov eax, 0xa0
cmp ecx, eax
je case.0x67183c54.13
mov eax, 0x1680
cmp ecx, eax
jmp 0x67183e79
mov eax, 0x2000
cmp ecx, eax
jb 0x6717d6b8
add eax, 0xa
cmp ecx, eax
jbe case.0x67183c54.13
mov eax, 0x202f
cmp ecx, eax
je case.0x67183c54.13
add eax, 0x30
cmp ecx, eax
je case.0x67183c54.13
mov eax, 0x3000
jmp 0x67183d56
push 0xa
pop eax
cmp ecx, eax
jb case.0x67183c54.13
push 0xd
pop eax
cmp ecx, eax
jbe 0x6717f3c5
add eax, 0x78
cmp ecx, eax
je 0x6717f3c5
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja case.0x67183c54.13
jmp 0x6717f3c8
push 0xa
pop eax
cmp ecx, eax
jb 0x6717d6b8
push 0xd
pop eax
cmp ecx, eax
jbe case.0x67183c54.13
add eax, 0x78
cmp ecx, eax
je case.0x67183c54.13
mov eax, 0x2027
cmp ecx, eax
jbe 0x6717d6b8
add eax, 2
cmp ecx, eax
jbe case.0x67183c54.13
jmp 0x6717d6b8
mov eax, 0xff
cmp ecx, eax
ja case.0x67183c54.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x67183e79
mov eax, 0xff
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x67183e98
mov eax, 0xff
cmp ecx, eax
ja case.0x67183c54.13
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jmp 0x67183e79
mov eax, 0xff
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jmp 0x67183e98
mov eax, 0xff
cmp ecx, eax
ja case.0x67183c54.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x67183c54.13
jmp 0x6717d6b8
mov eax, 0xff
cmp ecx, eax
ja 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x67183c54.13
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov eax, dword [ebp + 0x38]
add eax, 0xfffffffe
mov dword [ebp + 0x38], eax
mov ecx, eax
cmp dword [ebp + 0x28], 0x11
jne 0x67183ed9
cmp eax, dword [ebp + 4]
jbe 0x67183ed9
push 0xa
pop edx
cmp word [eax], dx
jne 0x67183ed9
lea edx, [eax - 2]
push 0xd
pop eax
cmp word [edx], ax
jne 0x67183ed9
mov dword [ebp + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebp + 4]
je 0x6717ea8a
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x22
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x67183f50
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x67183f50
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
push ebx
push dword [ebp + 8]
push ecx
call fcn.671a2625
add esp, 0xc
test eax, eax
je 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x64
jmp 0x671856dc
cmp eax, 0x65
jne case.0x67184b73.15
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp + 0x38]
lea edx, [ecx - 2]
mov dword [ebp + 0x38], edx
cmp ecx, dword [ebp + 4]
jbe 0x6717d6b8
test ebx, ebx
je 0x6717edc1
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x6717edc1
lea eax, [edx - 2]
mov dword [ebp + 0x38], eax
jmp 0x6717edc1
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov esi, 0xfc00
mov dword [ebp + 0x38], edx
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x6718401e
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, 0xff
cmp ecx, eax
jbe 0x6718402d
cmp byte [ebp + 0x31], 0x6e
jmp 0x67184040
mov edx, dword [ebp + 8]
mov esi, ecx
xor eax, eax
shr esi, 3
and ecx, 7
inc eax
shl eax, cl
test byte [esi + edx], al
je 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xc8
jmp 0x671856dc
sub eax, 0xc9
cmp eax, 0x15
ja case.0x67184b73.15
jmp dword [eax*4 + 0x67185cf8]
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp + 0x38]
lea edx, [ecx - 2]
mov dword [ebp + 0x38], edx
cmp ecx, dword [ebp + 4]
jbe 0x6717d6b8
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x671852df
lea eax, [edx - 2]
mov dword [ebp + 0x38], eax
jmp 0x671852df
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x64]
add ecx, ecx
sub eax, ecx
cmp dword [ebp + 0x38], eax
ja 0x671840e5
push ecx
push dword [ebp + 8]
push dword [ebp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x671852eb
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x6718392e
lea ecx, [eax + eax]
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp dword [ebp + 0x38], eax
ja 0x6718392e
push ecx
lea eax, [ebp + 0x32]
push eax
push dword [ebp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6718392e
mov eax, dword [ebp + 0x14]
add eax, eax
add dword [ebp + 0x38], eax
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xca
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
mov esi, 0xfc00
mov ecx, dword [ebp + 0x38]
mov edx, 0xdc00
mov ax, word [ecx]
and ax, si
cmp ax, dx
mov eax, dword [esp + 0x10]
jne 0x6718415b
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x67184e38
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcb
jmp 0x671856e0
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov esi, 0xfc00
mov dword [ebp + 0x38], edx
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x671841cd
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
je 0x6717d6b8
cmp dword [ebp + 0x2c], ecx
je 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xcc
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
mov esi, 0xfc00
mov ecx, dword [ebp + 0x38]
mov edx, 0xdc00
mov ax, word [ecx]
and ax, si
cmp ax, dx
mov eax, dword [esp + 0x10]
jne 0x67184219
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x67184e38
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcd
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov esi, 0xfc00
mov dword [ebp + 0x38], edx
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x6718428b
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
je 0x6717d6b8
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xce
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
mov esi, 0xfc00
mov ecx, dword [ebp + 0x38]
mov edx, 0xdc00
mov ax, word [ecx]
and ax, si
cmp ax, dx
mov eax, dword [esp + 0x10]
jne 0x671842ce
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x67184e38
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcf
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
add eax, 2
mov dword [ebp + 0x38], eax
test ebx, ebx
je 0x6718432b
mov edx, 0xfc00
and ecx, edx
mov edx, 0xd800
cmp ecx, edx
jne 0x6718432b
add eax, 2
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], 0xf
jne 0x671852f7
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x6718439c
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x6718439c
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
push 9
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
pop ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
mov al, byte [eax + 0x6747cdc9]
cmp al, cl
je 0x671843da
push 5
pop ecx
cmp al, cl
je 0x671843da
cmp al, 8
je 0x671843da
xor edx, edx
mov ecx, edx
jmp 0x671843e1
xor eax, eax
xor edx, edx
lea ecx, [eax + 1]
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185307
jmp 0x6717d6ba
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x67184459
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x67184459
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov ecx, dword [eax*4 + 0x67495a70]
sub ecx, dword [ebp + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185317
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x67184507
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x67184507
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x6747cdc9]
sub ecx, dword [ebp + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185327
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x671845ae
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x671845ae
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x6747cdc8]
sub ecx, dword [ebp + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185337
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x67184655
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x67184655
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
inc ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x67184695
cmp eax, 3
je 0x67184695
xor edx, edx
mov ecx, edx
jmp 0x67184697
xor edx, edx
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185347
jmp 0x6717d6ba
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x6718470f
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x6718470f
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, 0x180e
cmp ecx, eax
ja 0x671847ae
je 0x671847e8
push 9
pop eax
cmp ecx, eax
jb 0x67184764
push 0xd
pop eax
cmp ecx, eax
jbe 0x671847e8
push 0x20
pop eax
cmp ecx, eax
je 0x671847e8
add eax, 0x65
cmp ecx, eax
je 0x671847e8
mov eax, 0xa0
cmp ecx, eax
je 0x671847e8
mov eax, 0x1680
cmp ecx, eax
je 0x671847e8
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x6747cdc9]
cmp dword [eax*4 + 0x67495a70], 6
sete cl
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185357
jmp 0x6717d6b8
mov eax, 0x2000
cmp ecx, eax
jb 0x67184764
add eax, 0xa
cmp ecx, eax
jbe 0x671847e8
mov eax, 0x2027
cmp ecx, eax
jbe 0x67184764
add eax, 2
cmp ecx, eax
jbe 0x671847e8
mov eax, 0x202f
cmp ecx, eax
je 0x671847e8
add eax, 0x30
cmp ecx, eax
je 0x671847e8
mov eax, 0x3000
jmp 0x6718475c
cmp dword [ebp + 0x28], 0xf
jmp 0x671847a3
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx edx, word [eax]
lea ecx, [eax + 2]
mov dword [ebp + 0x38], ecx
test ebx, ebx
je 0x67184850
mov esi, 0xfc00
mov eax, edx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x67184850
movzx eax, word [ecx]
mov esi, 0x3ff
and edx, esi
and eax, esi
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
add edx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x6747fac0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x67483ec0]
xor ecx, ecx
imul eax, eax, 0xc
inc ecx
movzx eax, byte [eax + 0x6747cdc9]
mov eax, dword [eax*4 + 0x67495a70]
cmp eax, ecx
je 0x67184897
cmp eax, 3
je 0x67184897
cmp edx, 0x5f
je 0x67184897
xor edx, edx
mov ecx, edx
jmp 0x67184899
xor edx, edx
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185367
jmp 0x6717d6ba
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x67184911
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x67184911
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x2c]
lea eax, [eax*4 + 0x6747c9f0]
jmp 0x67184924
lea eax, [eax + 4]
cmp ecx, edx
je 0x67184939
mov edx, dword [eax]
cmp ecx, edx
jae 0x6718491d
cmp dword [ebp + 0x28], 0xf
je 0x67185377
jmp 0x6717d6b8
cmp dword [ebp + 0x28], 0xf
jne 0x67185377
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov eax, dword [ebp + 0x38]
cmp eax, dword [edi + 0x64]
jae 0x671801d3
movzx ecx, word [eax]
lea edx, [eax + 2]
mov dword [ebp + 0x38], edx
test ebx, ebx
je 0x671849aa
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, 0xd800
cmp eax, esi
jne 0x671849aa
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
cmp ecx, 0x24
je 0x671849d8
cmp ecx, 0x40
je 0x671849d8
cmp ecx, 0x60
je 0x671849d8
mov eax, 0xa0
cmp ecx, eax
jb 0x671849ca
cmp ecx, 0xd7ff
jbe 0x671849d8
cmp ecx, 0xe000
jae 0x671849d8
xor edx, edx
mov ecx, edx
jmp 0x671849df
xor eax, eax
xor edx, edx
lea ecx, [eax + 1]
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x67185387
jmp 0x6717d6ba
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov edx, dword [ebp + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x6718049d
movzx ecx, word [edx]
add edx, 2
mov dword [ebp + 0x38], edx
mov esi, edx
test ebx, ebx
je 0x67184a55
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67184a55
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
lea esi, [edx + 2]
or ecx, eax
mov dword [ebp + 0x38], esi
add ecx, 0x10000
xor eax, eax
push eax
push ebx
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push ecx
call fcn.671a1f8a
add esp, 0x18
mov dword [ebp + 0x38], eax
cmp eax, dword [edi + 0x64]
jb 0x67184a93
xor ecx, ecx
cmp word [edi + 0x4c], cx
je 0x67184a93
cmp eax, dword [edi + 0x6c]
ja 0x67184a83
cmp dword [edi + 0x34], ecx
je 0x67184a93
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xda
jmp 0x671856dc
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae 0x6717d6b8
mov edx, dword [ebp + 0x38]
mov ecx, dword [edi + 0x64]
cmp edx, ecx
jae 0x6718049d
push 0xc
pop eax
cmp dword [ebp + 0x28], eax
jne 0x67184b2c
mov eax, dword [edi + 0x98]
lea esi, [edi + 0x9c]
test eax, eax
je 0x67184af9
push ebx
push esi
push ecx
push eax
push edx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x6717f3c5
mov edx, dword [ebp + 0x38]
jmp 0x67184b2c
mov esi, dword [esi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x67184b2c
mov ax, word [edx]
cmp ax, word [edi + 0xa0]
jne 0x67184b2c
xor ecx, ecx
inc ecx
cmp esi, ecx
je 0x6717f3c8
mov ax, word [edx + 2]
cmp ax, word [edi + 0xa2]
je 0x6717f3c8
movzx ecx, word [edx]
mov esi, 0xfc00
mov eax, ecx
add edx, 2
and eax, esi
mov dword [ebp + 0x38], edx
mov esi, 0xd800
cmp eax, esi
jne 0x67184b64
movzx eax, word [edx]
mov esi, 0x3ff
and ecx, esi
and eax, esi
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp + 0x38], edx
mov eax, dword [ebp + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x67184b73.15
jmp dword [eax*4 + 0x67185d50]
push 0xa
pop eax
cmp ecx, eax
je case.0x67184b73.13
jbe 0x6717f3c5
push 0xc
pop esi
cmp ecx, esi
jbe 0x67184bb7
push 0xd
pop esi
cmp ecx, esi
je 0x67185393
add eax, 0x7b
cmp ecx, eax
je 0x67184bb7
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja 0x6717f3c8
jmp 0x67184bba
xor ecx, ecx
inc ecx
push 2
pop eax
cmp word [edi + 0x4e], ax
jne case.0x67184b73.13
jmp 0x6717f3c8
mov eax, 0x180e
cmp ecx, eax
ja 0x67184c0a
je 0x6717d6b8
push 9
pop eax
cmp ecx, eax
je 0x6717d6b8
push 0x20
pop eax
cmp ecx, eax
je 0x6717d6b8
mov eax, 0xa0
cmp ecx, eax
je 0x6717d6b8
mov eax, 0x1680
cmp ecx, eax
jmp 0x67184db4
mov eax, 0x2000
cmp ecx, eax
jb case.0x67184b73.13
add eax, 0xa
cmp ecx, eax
jbe 0x6717d6b8
mov eax, 0x202f
cmp ecx, eax
je 0x6717d6b8
add eax, 0x30
cmp ecx, eax
je 0x6717d6b8
mov eax, 0x3000
jmp 0x67184c03
mov eax, 0x180e
cmp ecx, eax
ja 0x67184c7f
je case.0x67184b73.13
push 9
pop eax
cmp ecx, eax
je case.0x67184b73.13
push 0x20
pop eax
cmp ecx, eax
je case.0x67184b73.13
mov eax, 0xa0
cmp ecx, eax
je case.0x67184b73.13
mov eax, 0x1680
cmp ecx, eax
jmp 0x67184d96
mov eax, 0x2000
cmp ecx, eax
jb 0x6717d6b8
add eax, 0xa
cmp ecx, eax
jbe case.0x67184b73.13
mov eax, 0x202f
cmp ecx, eax
je case.0x67184b73.13
add eax, 0x30
cmp ecx, eax
je case.0x67184b73.13
mov eax, 0x3000
jmp 0x67184c78
push 0xa
pop eax
cmp ecx, eax
jb case.0x67184b73.13
push 0xd
pop eax
cmp ecx, eax
jbe 0x6717f3c5
add eax, 0x78
cmp ecx, eax
je 0x6717f3c5
lea eax, [ecx - 0x2028]
xor ecx, ecx
inc ecx
cmp eax, ecx
ja case.0x67184b73.13
jmp 0x6717f3c8
push 0xa
pop eax
cmp ecx, eax
jb 0x6717d6b8
push 0xd
pop eax
cmp ecx, eax
jbe case.0x67184b73.13
add eax, 0x78
cmp ecx, eax
je case.0x67184b73.13
mov eax, 0x2027
cmp ecx, eax
jbe 0x6717d6b8
add eax, 2
cmp ecx, eax
jbe case.0x67184b73.13
jmp 0x6717d6b8
cmp ecx, 0x100
jae case.0x67184b73.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x67184d96
cmp ecx, 0x100
jae 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x67184db4
cmp ecx, 0x100
jae case.0x67184b73.13
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jmp 0x67184d96
cmp ecx, 0x100
jae 0x6717d6b8
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jmp 0x67184db4
cmp ecx, 0x100
jae case.0x67184b73.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x67184b73.13
jmp 0x6717d6b8
cmp ecx, 0x100
jae 0x6717d6b8
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x67184b73.13
jmp 0x6717d6b8
test esi, esi
jne case.0x6718395c.35
mov edx, dword [ebp + 0x38]
add edx, 0xfffffffe
mov dword [ebp + 0x38], edx
test ebx, ebx
jne 0x67184f8d
movzx ecx, word [edx]
jmp 0x67184fda
test esi, esi
jne case.0x6718395c.35
add dword [ebp + 0x38], 0xfffffffe
mov esi, 0xfc00
mov ecx, dword [ebp + 0x38]
mov edx, 0xdc00
mov ax, word [ecx]
and ax, si
cmp ax, dx
jne 0x67184e0a
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
cmp dword [ebp + 0x28], 0x11
mov eax, ecx
jne 0x67184e2f
cmp ecx, dword [ebp + 4]
jbe 0x67184e2f
push 0xa
pop edx
cmp word [ecx], dx
jne 0x67184e2f
lea edx, [ecx - 2]
push 0xd
pop ecx
cmp word [edx], cx
jne 0x67184e2f
mov dword [ebp + 0x38], edx
mov eax, edx
cmp eax, dword [ebp + 4]
ja 0x671853ec
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x6717d33d
test esi, esi
jne case.0x6718395c.35
mov ecx, dword [ebp + 0x38]
mov esi, 0xfc00
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
mov edx, ecx
test ebx, ebx
je 0x6718510f
mov ax, word [edx]
mov ebx, 0xdc00
and ax, si
cmp ax, bx
mov eax, dword [esp + 0x10]
jne 0x67185113
lea ecx, [edx - 2]
mov dword [ebp + 0x38], ecx
jmp 0x67185113
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [ebp + 0x54]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov eax, dword [ebx + 0x40]
mov dword [ebp + 0x40], eax
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
push 0x78
lea ecx, [ecx + eax*2]
pop eax
mov dword [ebp], ecx
cmp word [ecx], ax
je 0x67184eb2
jmp 0x671837cd
mov ecx, dword [ebp]
push 0x78
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
pop eax
mov dword [ebp], ecx
cmp word [ecx], ax
je 0x671855b5
jmp 0x671837cd
mov ecx, dword [ebp]
push 0x78
pop edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp], ecx
cmp word [ecx], di
je 0x67184eed
jmp 0x671837c6
mov ecx, dword [ebp + 4]
push 0x78
pop ebx
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp + 4], eax
cmp word [eax], bx
je 0x671851d6
xor ecx, ecx
cmp dword [ebp + 0x20], edx
sete cl
jmp 0x67184f55
xor ecx, ecx
cmp dword [ebp + 0x20], edx
sete cl
jmp 0x67184f52
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [ebp + 0x54]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov ecx, dword [ebp + 0x20]
push 0x78
pop ebx
test ecx, ecx
je 0x67182ccf
mov edx, dword [ebp]
movzx eax, word [edx + 2]
lea edx, [edx + eax*2]
mov dword [ebp], edx
cmp word [edx], bx
je 0x67184f60
jmp 0x67182c5b
mov edi, dword [esp + 0x90]
mov ecx, dword [ebp]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
jmp 0x67182cd5
movzx eax, word [edx]
mov ebx, 0xfc00
mov ecx, eax
mov edi, 0xdc00
and eax, ebx
mov esi, edx
cmp ax, di
jne 0x67184fae
lea esi, [edx - 2]
mov dword [ebp + 0x38], esi
movzx ecx, word [esi]
movzx ecx, cx
mov edx, esi
mov eax, ecx
and eax, ebx
mov ebx, 0xd800
cmp eax, ebx
jne 0x67184fda
movzx eax, word [esi + 2]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
mov edx, esi
or ecx, eax
add ecx, 0x10000
mov esi, dword [ebp + 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx edi, byte [eax + 0x6747cdca]
mov dword [esp + 0x4c], edi
cmp edx, esi
jbe 0x671850f7
mov ebx, esi
mov dword [esp + 0x50], esi
mov ebp, esi
mov dword [esp + 0x54], esi
mov eax, esi
mov dword [esp + 0x68], edx
mov esi, eax
add edx, 0xfffffffe
cmp dword [esp + 0x14], 0
movzx ecx, word [edx]
je 0x6718509a
mov esi, 0xfc00
mov eax, ecx
and eax, esi
mov esi, ebx
mov ebx, 0xdc00
movzx edi, ax
cmp ax, bx
jne 0x67185055
movzx ecx, word [edx - 2]
mov esi, ebp
mov ebx, dword [esp + 0x54]
jmp 0x67185059
mov ebx, dword [esp + 0x50]
mov eax, 0xdc00
movzx ecx, cx
cmp di, ax
mov ebp, 0xfc00
push 2
cmovne edx, dword [esp + 0x6c]
pop eax
sub edx, eax
mov eax, ecx
and eax, ebp
mov ebp, 0xd800
cmp eax, ebp
jne 0x6718509a
movzx eax, word [edx + 2]
mov ebp, 0x3ff
and ecx, ebp
and eax, ebp
shl ecx, 0xa
mov esi, ebx
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x6747fac0]
shl eax, 7
add eax, ecx
mov ecx, dword [esp + 0x4c]
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
movzx edi, byte [eax + 0x6747cdca]
xor eax, eax
inc eax
shl eax, cl
test dword [edi*4 + 0x67495a30], eax
je 0x671850f7
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], edi
mov dword [eax + 0x38], edx
mov esi, dword [eax + 4]
mov ebx, esi
mov dword [esp + 0x50], esi
mov ebp, esi
mov dword [esp + 0x54], esi
mov eax, esi
cmp edx, esi
ja 0x6718501e
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x38], esi
jbe 0x6717ea83
mov esi, dword [eax]
mov byte [eax + 0x30], 0xdc
jmp 0x671856dc
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 4]
jbe 0x67184e38
mov esi, dword [eax]
mov byte [eax + 0x30], 0xde
jmp 0x671856dc
inc dword [edi + 0x90]
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 0x90]
cmp eax, dword [edi + 0x94]
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x674958d0]
movzx eax, word [edx + 2]
ja 0x671853f8
add ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebx], eax
mov edx, dword [esp + 0x18]
jmp 0x6717d33d
test ebx, ebx
jne 0x671841df
jmp 0x67183b06
test ebx, ebx
jne 0x67184294
jmp 0x67183b7e
cmp dword [esp + 0x14], 0
jne 0x67184046
jmp 0x671839f9
test ebp, ebp
js 0x671851a0
cmp ebp, esi
ja case.0x67184b73.15
jmp dword [ebp*4 + 0x67185d90]
mov ebp, dword [esp + 0x10]
cmp dword [ebp + 0x28], 0x16
je 0x67184a93
test ebx, ebx
jne case.0x67184b73.13
jmp case.0x67183c54.13
mov dword [ebp + 0x24], edi
jmp 0x67185276
mov eax, edx
jmp 0x671854de
xor eax, eax
inc eax
mov dword [ebp + 0x20], eax
mov eax, dword [ebp]
mov dword [ebp + 4], eax
mov eax, dword [ebp]
push 5
movzx edx, word [eax]
or edx, 0x30000
mov dword [esp + 0x7c], edx
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
lea esi, [ecx + eax*2]
pop eax
jmp 0x6718521c
mov eax, dword [esp + 0x10]
cmp cl, 0x7b
jne 0x67185210
lea esi, [edx + 4]
mov byte [ebp + 0x30], 6
jmp 0x671856e0
mov byte [ebp + 0x30], 7
jmp 0x671856e0
xor eax, eax
inc eax
mov byte [ebp + 0x30], al
jmp 0x671856dc
mov eax, dword [ebp + 8]
mov dword [ebp], eax
jmp 0x6718549a
mov eax, dword [esp + 0x6c]
add eax, eax
add dword [ebp + 0x38], eax
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x14
jmp 0x671856dc
mov dword [ebp + 0x38], eax
dec dword [ebp + 0x24]
mov esi, dword [ebp + 0x20]
jmp 0x67185271
lea eax, [esp + 0x70]
push eax
push edi
push ebp
push dword [ebp + 0x28]
push dword [ebp + 0x14]
call fcn.67185dbc
mov eax, dword [esp + 0x84]
add esp, 0x14
add eax, eax
add dword [ebp + 0x38], eax
inc esi
cmp esi, dword [ebp + 0x24]
jb 0x6718524f
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x16
jmp 0x671856dc
cmp edx, dword [edi + 0x64]
jae case.0x67183c54.13
cmp word [edx], ax
jne case.0x67183c54.13
lea eax, [edx + 2]
mov dword [ebp + 0x38], eax
jmp case.0x67183c54.13
xor eax, eax
cmp word [edi + 0x4c], ax
je case.0x67183c54.13
cmp edx, dword [edi + 0x64]
jb case.0x67183c54.13
cmp dword [edi + 0x98], eax
jne case.0x67183c54.13
push 2
pop eax
cmp dword [edi + 0x9c], eax
jne case.0x67183c54.13
movzx eax, word [edi + 0xa0]
cmp ecx, eax
jne case.0x67183c54.13
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x4c], cx
ja 0x6717df68
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0x21
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xc9
jmp 0x671856dc
mov eax, dword [ebp + 0xc]
jmp 0x6718411c
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd0
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd1
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd2
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd3
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd4
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd5
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd6
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd7
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd8
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xd9
jmp 0x671856dc
cmp edx, dword [edi + 0x64]
jae case.0x67184b73.13
cmp word [edx], ax
jne case.0x67184b73.13
lea eax, [edx + 2]
mov dword [ebp + 0x38], eax
jmp case.0x67184b73.13
xor eax, eax
cmp word [edi + 0x4c], ax
je case.0x67184b73.13
cmp edx, dword [edi + 0x64]
jb case.0x67184b73.13
cmp dword [edi + 0x98], eax
jne case.0x67184b73.13
push 2
pop eax
cmp dword [edi + 0x9c], eax
jne case.0x67184b73.13
movzx eax, word [edi + 0xa0]
cmp ecx, eax
jne case.0x67184b73.13
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp word [edi + 0x4c], ax
ja 0x6717df68
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xdb
jmp 0x671856dc
mov esi, dword [ebp]
mov byte [ebp + 0x30], 0xdd
jmp 0x671856dc
mov byte [ebx + 0x30], 0x11
jmp 0x671856d7
mov ecx, dword [esp + 0x10]
push 9
mov esi, dword [ecx]
add esi, 2
mov dword [ecx + 4], esi
pop eax
mov byte [ecx + 0x30], al
jmp 0x671856dc
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx]
add esi, 2
mov dword [ecx + 4], esi
movzx eax, word [esi + 2]
push 0x78
lea esi, [esi + eax*2]
pop eax
mov dword [ecx + 4], esi
cmp word [esi], ax
je 0x67185424
add esi, 4
push 0xa
jmp 0x6718540f
mov ebp, dword [esp + 0x10]
xor eax, eax
inc eax
mov edx, 0x89
mov dword [ebp + 0x28], eax
mov eax, dword [ebp]
add eax, 2
mov dword [ebp], eax
movzx ecx, word [eax]
cmp cx, dx
je 0x67185465
add edx, 5
cmp cx, dx
jne 0x67185472
xor ecx, ecx
jmp 0x67185485
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0x28], ecx
jmp 0x67185474
xor ecx, ecx
mov eax, 0x20000
jmp 0x6718548e
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0x28], ecx
mov eax, dword [ebp]
movzx eax, word [eax + 4]
or eax, 0x10000
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], ecx
mov eax, dword [ebp]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 4], eax
mov ecx, dword [ebp]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
mov byte [ebp + 0x30], 8
lea esi, [ecx + eax*2]
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp]
movzx eax, word [eax + 4]
or eax, 0x10000
jmp 0x671854de
mov ebp, dword [esp + 0x10]
movzx eax, bl
or eax, 0x20000
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
push 2
jmp 0x671851eb
mov ebp, dword [esp + 0x10]
mov ecx, dword [edi + 0x58]
mov eax, dword [ebp]
movzx eax, word [eax + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x6718550d
xor eax, eax
mov edi, eax
jmp 0x67185511
movzx edi, word [ebx + 4]
or ecx, 0xffffffff
cmp dword [ebp + 0x44], ecx
je 0x6718555a
mov eax, dword [ebp + 0x4c]
cmp eax, ecx
je 0x6718555a
mov ecx, dword [esp + 0x90]
mov edx, edi
or edx, 0x40000
mov esi, dword [ecx + 0x10]
add eax, esi
mov ecx, eax
sub ecx, dword [esp + 0x8c]
cmp dword [eax + 0x1c], edx
je 0x6718554e
mov eax, dword [ecx + 0x4c]
or ecx, 0xffffffff
cmp eax, ecx
jne 0x67185532
jmp 0x6718555a
mov eax, dword [ebp + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x67185853
or edi, 0x40000
mov dword [ebp + 4], ebx
mov dword [ebp + 0x20], edi
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
push 0xb
jmp 0x671851e8
mov ebp, dword [esp + 0x10]
movzx eax, bl
or eax, 0x20000
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
mov byte [ebp + 0x30], 3
lea esi, [ecx + eax*2]
jmp 0x671856dc
mov ebp, dword [esp + 0x10]
movzx eax, bl
or eax, 0x20000
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x78], eax
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
mov byte [ebp + 0x30], 4
lea esi, [ecx + eax*2]
jmp 0x671856dc
mov ebx, dword [esp + 0x10]
push 0xc
mov eax, dword [ebx]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x674958d0]
movzx eax, word [edx + 2]
add ecx, eax
pop eax
mov byte [ebx + 0x30], al
jmp 0x671856d9
mov edx, dword [esp + 0x10]
push 0xd
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
lea esi, [ecx + eax*2]
pop eax
mov byte [edx + 0x30], al
jmp 0x671856dc
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x674958d0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x24
jmp 0x671856d7
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
mov byte [edx + 0x30], 0xe
lea esi, [ecx + eax*2]
jmp 0x671856dc
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x674958d0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xf
jmp 0x671856d7
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
mov byte [edx + 0x30], 0x10
lea esi, [ecx + eax*2]
jmp 0x671856dc
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x674958d0]
mov byte [edx + 0x30], 0x12
lea esi, [ecx + eax*2]
jmp 0x671856dc
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
add eax, 4
mov dword [edi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x674958d0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x13
add ecx, eax
lea esi, [edx + ecx*2]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
lea ebx, [eax + edi]
mov dword [esp + 0x18], ebx
cmp ebx, dword [ebp + 0x14]
jb 0x67185790
mov ecx, dword [ebp + 0xc]
lea edi, [ecx + ecx]
mov eax, edi
shr eax, 0xa
cmp eax, dword [ebp + 0x1c]
jbe 0x67185729
mov edi, dword [ebp + 0x1c]
xor edx, edx
shl edi, 0xa
mov eax, edi
div dword [esp + 0x8c]
sub edi, edx
cmp ecx, edi
jae 0x67185857
push dword [ebp + 8]
push edi
call dword [ebp]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x6718585b
push dword [ebp + 0xc]
push dword [ebp + 0x10]
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp + 0x10]
mov eax, ebx
mov edx, dword [esp + 0x1c]
sub eax, ecx
add edx, eax
add esp, 0xc
mov dword [esp + 0x10], edx
add edx, dword [esp + 0x8c]
mov dword [esp + 0x18], edx
cmp ecx, dword [ebp + 0x18]
je 0x67185775
push dword [ebp + 8]
push ecx
call dword [ebp + 4]
pop ecx
pop ecx
lea eax, [ebx + edi]
mov dword [ebp + 0x10], ebx
mov ebx, dword [esp + 0x18]
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [ebp + 0xc], edi
mov edi, dword [esp + 0x8c]
lea ecx, [edi - 0x38]
add eax, 0x38
push ecx
push eax
lea eax, [ebx + 0x38]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x10], ebx
mov eax, dword [eax + 0x18]
inc eax
mov dword [ebx + 0x18], eax
mov eax, ebx
mov ebx, dword [esp + 0x78]
jmp 0x6717d15a
mov eax, edi
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x68], edx
mov eax, dword [ebp + 0x50]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp + 0x40]
mov dword [ecx + 0x74], eax
mov eax, dword [ebp + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x671857e1
mov dword [ecx + 0x70], eax
mov eax, dword [ebp + 0x3c]
sub eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x80]
movzx esi, word [esp + 0x88]
sar eax, 1
inc esi
mov dword [edi], eax
mov eax, dword [ebp + 0x38]
sub eax, dword [ecx + 0x5c]
movzx ecx, word [esp + 0x84]
sar eax, 1
cmp esi, ecx
mov dword [edi + 4], eax
cmova esi, ecx
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [edi + 8]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp + 0x50]
add esp, 0xc
dec esi
push 2
pop edx
add eax, edx
cmp esi, eax
jb 0x6718584a
or eax, 0xffffffff
mov dword [edi + esi*4], eax
dec esi
mov ecx, dword [ebp + 0x50]
add ecx, edx
cmp esi, ecx
jae 0x6718583d
xor eax, eax
inc eax
jmp 0x6718586a
mov eax, esi
jmp 0x6718586a
push 0xffffffffffffffcc
jmp 0x67185869
push 0xffffffffffffffc1
jmp 0x67185869
push 0xffffffffffffffd0
jmp 0x67185869
push 0xffffffffffffffd4
jmp 0x67185869
push 0xffffffffffffffcb
jmp 0x67185869
push 0xffffffffffffffd1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret