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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov ecx, dword [ebp + 0x1c]
xor eax, eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
lea eax, [ecx - 0x38]
push edi
mov edi, dword [ebp + 0x20]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0xfc00
mov dword [ebp - 0x18], 0xdc00
mov eax, dword [edi + 0x10]
mov esi, dword [edi + 0x84]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x44], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov eax, ecx
mov ecx, dword [ebp + 0x20]
shr esi, 0x13
and esi, 1
mov dword [ebp - 0x44], 0xd800
mov dword [eax + 0x40], 0
xor edx, edx
mov dword [eax + 0x50], 0
mov dword [ebp - 8], esi
mov dword [eax + 0x4c], 0xffffffff
mov dword [ebp + 8], edx
mov dword [ebp - 0x40], 0xff
mov dword [ebp - 0x48], 0x2029
mov dword [ebp - 0x28], 0x180e
mov dword [ebp - 0x2c], 0x205f
mov dword [ebp - 0x30], 0x85
mov dword [ebp - 0x34], 0x2028
mov dword [ebp - 0x20], ecx
mov dword [eax + 0x1c], edx
mov dword [eax], ebx
mov ebx, dword [ebp + 0x1c]
mov dword [eax + 0x10], ebx
test edx, edx
je 0x42bb08
sub eax, dword [edi + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x42bb03
movzx eax, dx
mov dword [ecx + 0x44], eax
xor edx, edx
mov dword [ebp + 8], edx
mov edx, dword [edi + 0x28]
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
cmp edx, dword [edi + 0x20]
jae 0x433dcb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x24]
jb 0x42bb41
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x20]
jmp 0x42bb3e
lea eax, [ecx + 4]
mov dword [ebx], eax
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dl, byte [eax]
mov eax, dword [ebp - 4]
mov byte [eax + 0x31], dl
movzx eax, dl
cmp eax, 0xa4
ja case.0x431fb4.15
movzx eax, byte [eax + 0x433f34]
jmp dword [eax*4 + 0x433dd8]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
jne 0x42bbe2
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
movzx edi, word [eax + 2]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x431fb4.15
mov ebx, dword [ecx + 0x10]
add ebx, eax
mov eax, edi
mov edx, ebx
mov dword [ebp - 0x10], ebx
sub edx, dword [ebp + 0x1c]
or eax, 0x10000
cmp dword [ebx + 0x1c], eax
je 0x42bba9
mov eax, dword [edx + 0x4c]
jmp 0x42bb82
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
mov ebx, dword [ebp - 4]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov edi, dword [ebp + 0x20]
mov eax, dword [edx + 0x38]
sub eax, dword [edi + 0x58]
sar eax, 1
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, ebx
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x58]
sar eax, 1
mov dword [ebx + ecx*4 + 0x58], eax
mov eax, ebx
cmp ecx, dword [eax + 0x50]
jb 0x42bbdf
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x42bb3b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x68]
jbe 0x42bc09
mov dword [edi + 0x68], eax
mov eax, dword [ebp - 4]
mov esi, 0xfffffc19
mov dword [ebp - 0x20], eax
jmp 0x42d51f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
je 0x42bc6b
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x431fb4.15
mov edx, dword [edi + 0x10]
add edx, eax
mov ecx, edx
mov dword [ebp - 0x10], edx
sub ecx, ebx
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x42bc4e
mov eax, dword [ecx + 0x4c]
jmp 0x42bc25
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
add dword [ecx], 4
jmp 0x42bb41
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
cmp esi, edi
jne 0x42bc9a
mov ebx, dword [ebp + 0x20]
mov eax, dword [ebx + 0x80]
test al, 4
jne 0x42bc93
test al, 8
je 0x42bc9a
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x58]
lea eax, [eax + ecx*2]
cmp edi, eax
jne 0x42bc9a
mov edi, ebx
jmp case.0x42bb63.160
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x5c]
jae 0x433d09
mov edi, dword [ebp + 0x20]
mov eax, dword [eax + 0x84]
or eax, dword [edi + 0x80]
test eax, 0x20000000
je 0x433d07
test dl, dl
je case.0x42bb63.160
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, eax
mov esi, dword [eax + 0x90]
test esi, esi
je 0x42bd0b
mov eax, dword [ebp - 4]
mov edx, dword [edi + 0x5c]
mov ecx, dword [eax + 0x38]
cmp ecx, edx
jae 0x42bd4c
push dword [ebp - 8]
lea eax, [edi + 0x94]
push eax
push edx
push esi
push ecx
call fcn.00438710
add esp, 0x14
test eax, eax
je 0x42bd49
jmp case.0x42bb63.160
mov esi, dword [eax + 0x94]
mov eax, dword [ebp - 4]
mov ecx, dword [edi + 0x5c]
mov edx, dword [eax + 0x38]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x42bd49
mov ax, word [edx]
cmp ax, word [edi + 0x98]
jne 0x42bd49
cmp esi, 1
je case.0x42bb63.160
mov ax, word [edx + 2]
cmp ax, word [edi + 0x9a]
je case.0x42bb63.160
mov eax, dword [ebp - 4]
cmp word [edi + 0x48], 0
je case.0x42bb63.13
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x5c]
sub eax, 2
cmp ecx, eax
jne case.0x42bb63.13
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x90], 0
jne 0x42bd98
cmp dword [eax + 0x94], 2
jne 0x42bd98
mov edi, dword [ebp + 0x20]
mov ax, word [ecx]
cmp ax, word [edi + 0x98]
jne case.0x42bb63.13
mov eax, edi
mov dword [eax + 0x2c], 1
cmp word [eax + 0x48], 1
ja 0x42cc4b
mov edi, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x5c]
jb 0x42bdd0
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42bdc6
cmp ecx, dword [eax + 0x64]
jbe 0x42bdc6
mov dword [eax + 0x2c], 1
cmp word [eax + 0x48], 1
ja 0x42cc4b
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x42d51c
mov esi, dword [ebp - 8]
add ecx, 2
mov dword [eax + 0x38], ecx
test esi, esi
je 0x42be51
cmp ecx, dword [edi + 0x5c]
jae 0x42be51
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x42be4e
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x42bb41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42be45
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jbe case.0x42bb63.160
mov eax, dword [ebp + 0x20]
mov dword [eax + 0x2c], 1
cmp word [eax + 0x48], 1
ja 0x42cc4b
mov edi, eax
jmp case.0x42bb63.160
mov ecx, dword [ebp - 4]
add eax, 2
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x42bb41
mov eax, dword [ebp - 4]
test esi, esi
je 0x42bf02
mov dword [eax + 0xc], 1
mov ecx, 0xfc00
add dword [eax], 2
mov eax, dword [eax]
mov ax, word [eax]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov eax, dword [ebp - 4]
jne 0x42be90
inc dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
jmp 0x42be96
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov esi, dword [edi + 0x5c]
mov eax, esi
sub eax, edx
sar eax, 1
cmp ecx, eax
jbe 0x42bec4
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42bdc6
cmp edx, esi
jb 0x42bdc6
cmp edx, dword [eax + 0x64]
jmp 0x42bdb2
mov esi, dword [ebp - 8]
test ecx, ecx
je 0x42bb41
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax]
movzx edx, word [ecx]
movzx esi, word [eax]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
cmp si, dx
jne case.0x42bb63.160
add dword [eax + 0xc], 0xffffffff
jne 0x42bed2
mov esi, dword [ebp - 8]
jmp 0x42bb41
mov esi, dword [eax + 0x38]
mov eax, dword [edi + 0x5c]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jge 0x42bf28
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42bdc6
cmp esi, dword [eax + 0x64]
jmp 0x42bdb2
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
movzx ecx, word [esi]
mov eax, dword [eax]
movzx edx, word [eax + 2]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
mov eax, ebx
cmp dx, cx
je 0x42c1f8
xor esi, esi
jmp 0x42d51f
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
cmp esi, dword [edi + 0x5c]
jae 0x42bf12
cmp dword [ebp - 8], 0
je 0x42c067
mov dword [eax + 0xc], 1
add dword [eax], 2
mov ecx, dword [eax]
movzx esi, word [ecx]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42bfa3
movzx eax, word [ecx + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov eax, dword [ebp - 4]
add esi, 0x10000
inc dword [eax + 0xc]
jmp 0x42bfa6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
movzx edx, word [ecx]
cmp esi, 0x80
jae 0x42bfe4
mov eax, dword [edi + 0x34]
cmp edx, 0xff
ja 0x42bfc3
movzx edx, byte [eax + edx]
movzx eax, byte [eax + esi]
cmp eax, edx
mov eax, dword [ebp - 4]
je 0x42bfd5
xor esi, esi
jmp 0x42d51f
add dword [eax], 2
add dword [eax + 0x38], 2
mov esi, dword [ebp - 8]
jmp 0x42bb41
add ecx, 2
mov dword [eax + 0x38], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42c01a
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0xc]
add eax, eax
add dword [ecx], eax
cmp edx, esi
je 0x43122b
mov eax, esi
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x45250c]
add eax, esi
cmp edx, eax
je 0x43122b
jmp case.0x42bb63.160
mov eax, dword [eax]
mov ecx, 0xff
movzx eax, word [eax + 2]
cmp ax, cx
ja 0x42c082
mov ecx, eax
mov eax, dword [edi + 0x34]
movzx edx, byte [eax + ecx]
jmp 0x42c084
mov edx, eax
movzx eax, word [esi]
mov ecx, eax
cmp ax, word [ebp - 0x40]
ja 0x42c096
mov eax, dword [edi + 0x34]
movzx ecx, byte [eax + ecx]
cmp edx, ecx
jne case.0x42bb63.160
mov ecx, dword [ebp - 4]
lea eax, [esi + 2]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42bb41
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x5c]
jb 0x42c0d5
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42bdc6
cmp edx, dword [eax + 0x64]
jmp 0x42bdb2
test esi, esi
je 0x42c1bd
add dword [eax], 2
mov eax, dword [eax]
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42c11c
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add edx, 0x10000
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
movzx esi, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42c15e
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add esi, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, esi
jne 0x42c16c
xor esi, esi
jmp 0x42d51f
cmp byte [eax + 0x31], 0x20
jne 0x43122b
cmp edx, 0x7f
jbe 0x42c1a6
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x45250c]
jmp 0x42c1ad
mov eax, dword [edi + 0x38]
movzx edx, byte [eax + edx]
cmp edx, esi
mov esi, dword [ebp - 8]
jne 0x42bb41
jmp case.0x42bb63.160
mov eax, dword [eax]
mov ebx, dword [ebp - 4]
movzx esi, word [edx]
movzx ecx, word [eax + 2]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp ecx, esi
je case.0x42bb63.160
mov eax, ebx
cmp byte [eax + 0x31], 0x20
jne 0x42c1f8
cmp ecx, 0xff
ja 0x42c1f0
mov eax, dword [edi + 0x38]
movzx ecx, byte [eax + ecx]
mov eax, ebx
cmp ecx, esi
je case.0x42bb63.160
add dword [eax], 4
jmp 0x42bb3b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42c2ed
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42c2ea
mov dword [ebp - 0xc], 1
jmp 0x42c223
mov dword [ebp - 0xc], 0
jmp 0x42c223
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x42c2ea
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x42c2ea
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
add dword [eax], 2
jmp 0x42c2ea
mov eax, dword [ebp - 4]
cmp dl, 0x2e
mov ecx, dword [eax]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
movzx edx, word [ecx]
sub edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x450cb0]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x450cdc]
mov dword [ecx + 0x24], eax
mov eax, dword [edx*4 + 0x450d08]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
test esi, esi
je 0x42c68c
mov dword [eax + 0xc], 1
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov eax, ecx
mov ecx, dword [eax]
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42c33f
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, dword [ebp - 4]
mov ecx, eax
add edx, 0x10000
inc dword [eax + 0xc]
mov ecx, dword [ecx]
jmp 0x42c342
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, ecx
cmp dword [eax + 0xc], 1
jbe 0x42c687
cmp byte [eax + 0x31], 0x2e
jb 0x42c3a0
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x45250c]
add ecx, edx
cmp ecx, edx
je 0x42c3a0
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.004388a0
add esp, 8
jmp 0x42c3a2
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x24], 1
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, 1
jb 0x42c4dd
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
jmp 0x42c3c9
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x20]
add edi, edi
mov ecx, dword [eax + 0x5c]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x1c], ecx
cmp ebx, eax
ja 0x42c44a
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x42c401
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42c40a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x42c3f0
cmp esi, 0xfffffffc
je 0x42c4bd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42c447
cmp esi, 0xfffffffd
je 0x42c4bd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42c447
cmp esi, 0xfffffffe
je 0x42c4bd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42c447
cmp esi, 0xffffffff
je 0x42c4bd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42c4bd
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x42c516
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x42c516
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x42c487
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42c48c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x42c476
cmp esi, 0xfffffffc
je 0x42c4bd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42c516
cmp esi, 0xfffffffd
je 0x42c4bd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42c516
cmp esi, 0xfffffffe
je 0x42c4bd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42c516
cmp esi, 0xffffffff
je 0x42c4bd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x42c516
mov eax, dword [ebp - 4]
add ebx, edi
mov edx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x24], edx
mov dword [eax + 0x38], ebx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x42c3c6
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0x1c]
cmp eax, dword [ecx + 0x24]
je 0x42bb41
cmp dword [ebp - 0xc], 0
je 0x43380c
mov eax, ecx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ecx
mov eax, dword [eax + 0x20]
cmp eax, dword [ecx + 0x24]
mov dword [ebp - 0x24], eax
mov eax, ecx
jae 0x42c66c
mov ebx, dword [eax + 0x38]
jmp 0x42c538
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42bdc6
cmp ebx, dword [eax + 0x5c]
jb 0x42bdc6
cmp ebx, dword [eax + 0x64]
jmp 0x42bdb2
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x20]
add edi, edi
mov ecx, dword [eax + 0x5c]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x1c], ecx
cmp ebx, eax
ja 0x42c5ba
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x42c571
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42c57a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x42c560
cmp esi, 0xfffffffc
je 0x42c629
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42c5b7
cmp esi, 0xfffffffd
je 0x42c629
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42c5b7
cmp esi, 0xfffffffe
je 0x42c629
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42c5b7
cmp esi, 0xffffffff
je 0x42c629
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42c629
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x42c643
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x42c643
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x42c5f7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42c5fc
add ecx, 4
add edx, 4
sub esi, 4
jae 0x42c5e6
cmp esi, 0xfffffffc
je 0x42c629
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42c643
cmp esi, 0xfffffffd
je 0x42c629
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42c643
cmp esi, 0xfffffffe
je 0x42c629
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42c643
cmp esi, 0xffffffff
je 0x42c629
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x42c643
mov eax, dword [ebp - 4]
add ebx, edi
mov edx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x24], edx
mov dword [eax + 0x38], ebx
cmp edx, dword [eax + 0x24]
jb 0x42c535
jmp 0x42c66c
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42c669
cmp ebx, dword [eax + 0x5c]
jb 0x42c669
cmp ebx, dword [eax + 0x64]
jbe 0x42c669
mov dword [eax + 0x2c], 1
cmp word [eax + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov ecx, dword [eax + 0x38]
jmp 0x4325d4
mov dword [eax + 0x28], edx
jmp 0x42c69a
mov eax, dword [eax]
movzx eax, word [eax]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 4]
add dword [eax], 2
cmp byte [eax + 0x31], 0x2e
jb 0x42c7da
test esi, esi
je 0x42c6ed
mov edx, dword [eax + 0x28]
cmp edx, 0x7f
jbe 0x42c6ed
mov eax, edx
test eax, eax
jns 0x42c6b9
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x42c6d5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x45250c]
add ecx, edx
jmp 0x42c6ff
mov ecx, dword [eax + 0x28]
cmp ecx, 0xff
ja 0x42c6ff
mov eax, dword [edi + 0x38]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 4]
mov edx, 1
mov dword [eax + 0x2c], ecx
mov eax, dword [eax + 0x20]
cmp eax, edx
jb 0x42c754
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
nop word [eax + eax]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x5c]
jae 0x42bda8
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x42c740
cmp dword [ebx + 0x2c], eax
jne 0x42bdc6
mov eax, dword [ebp - 4]
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x42c720
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 4]
cmp eax, dword [ebx + 0x24]
je 0x42bb3e
cmp dword [ebp - 0xc], 0
je 0x431d5b
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x42c7c2
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x42c7a1
movzx ecx, word [eax]
cmp dword [ebx + 0x28], ecx
je 0x42c793
cmp dword [ebx + 0x2c], ecx
jne 0x42c7c2
add eax, 2
inc edx
mov dword [ebx + 0x38], eax
cmp edx, dword [ebx + 0x24]
jb 0x42c781
jmp 0x42c7c2
cmp word [edi + 0x48], 0
je 0x42c7c2
cmp eax, dword [edi + 0x64]
jbe 0x42c7c2
mov eax, dword [ebp + 0x20]
mov dword [eax + 0x2c], 1
cmp word [eax + 0x48], 1
ja 0x42cc4b
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov ebx, dword [ebp - 4]
jmp 0x431d78
mov eax, dword [eax + 0x20]
mov esi, 1
cmp eax, esi
jb 0x42c81a
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
nop dword [eax]
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 0x5c]
jae 0x42c0c2
mov ebx, dword [ebp - 4]
movzx eax, word [edx]
add edx, 2
mov dword [ebx + 0x38], edx
cmp dword [ebx + 0x28], eax
mov eax, ebx
jne 0x42c870
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x42c7f0
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 0x24]
je 0x42bb3e
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x431dd9
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 0x24]
jae 0x42c898
mov ecx, dword [eax + 0x38]
nop dword [eax + eax]
cmp ecx, dword [edi + 0x5c]
jae 0x42c87a
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
jne 0x42c89b
mov eax, ebx
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
cmp edx, dword [eax + 0x24]
jb 0x42c850
jmp 0x42c898
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x42d51f
cmp word [edi + 0x48], 0
je 0x42c898
cmp ecx, dword [edi + 0x64]
jbe 0x42c898
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov ebx, dword [ebp - 4]
cmp esi, 2
mov esi, dword [ebp - 8]
je 0x42bb3e
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x42bb3b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1c
jmp 0x433c31
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42c9ec
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42c9ec
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42c9ec
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x42c9ec
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x42c9ec
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
add dword [eax], 2
jmp 0x42c9ec
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42c9ec
mov eax, dword [ebp - 4]
cmp dl, 0x48
mov ecx, dword [eax]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
movzx edx, word [ecx]
sub edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x450cb0]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x450cdc]
mov dword [ecx + 0x24], eax
mov eax, dword [edx*4 + 0x450d08]
mov dword [ebp - 0xc], eax
mov eax, ecx
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
movzx eax, word [eax]
mov dword [ecx + 0x28], eax
mov eax, ecx
mov edx, dword [eax]
add edx, 2
mov dword [eax], edx
test esi, esi
je 0x42ca3b
mov ecx, dword [eax + 0x28]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42ca38
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, 0x10000
mov dword [ecx + 0x28], eax
mov eax, ecx
add dword [eax], 2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x48
jb 0x42cccd
test esi, esi
je 0x42ca8e
mov edx, dword [eax + 0x28]
cmp edx, 0x7f
jbe 0x42ca8e
mov eax, edx
test eax, eax
jns 0x42ca5a
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x42ca76
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x45250c]
add ecx, edx
jmp 0x42caa0
mov ecx, dword [eax + 0x28]
cmp ecx, 0xff
ja 0x42caa0
mov eax, dword [edi + 0x38]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], ecx
mov eax, dword [eax + 0x20]
test esi, esi
je 0x42cb39
mov esi, 1
cmp eax, esi
jb 0x42cb34
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
jmp 0x42cad3
mov eax, dword [ebp - 4]
cmp edx, dword [edi + 0x5c]
jae 0x42de7c
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42cb17
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x42cb1a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je case.0x42bb63.160
cmp dword [eax + 0x2c], ecx
je case.0x42bb63.160
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x42cad0
mov esi, dword [ebp - 8]
jmp 0x42cb81
mov edx, 1
cmp eax, edx
jb 0x42cb81
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
nop dword [eax + eax]
cmp ecx, dword [edi + 0x5c]
jae 0x42f0f6
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je case.0x42bb63.160
cmp dword [ebx + 0x2c], eax
je case.0x42bb63.160
mov eax, ebx
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x42cb50
mov ebx, dword [ebp - 4]
cmp eax, dword [ebx + 0x24]
je 0x42bb3e
cmp dword [ebp - 0xc], 0
je 0x433666
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test esi, esi
je 0x42cc5c
cmp edi, eax
jae 0x42cc57
mov eax, ebx
mov edx, dword [eax + 0x38]
nop
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42cc34
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42cbfd
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x42cc16
cmp dword [eax + 0x2c], ecx
je 0x42cc16
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42cbc0
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
jmp 0x43269f
mov edi, eax
cmp word [edi + 0x48], 0
je 0x42cc19
cmp edx, dword [edi + 0x64]
jbe 0x42cc19
mov dword [edi + 0x2c], esi
cmp word [edi + 0x48], si
jbe 0x42cc19
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x20]
jmp 0x42cc1c
cmp edi, eax
jae 0x42cc91
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
nop dword [eax]
mov ecx, dword [ebp + 0x20]
cmp eax, dword [ecx + 0x5c]
jae 0x42ccaf
movzx ecx, word [eax]
cmp dword [edx + 0x28], ecx
je 0x42cc91
cmp dword [edx + 0x2c], ecx
je 0x42cc91
add eax, 2
inc edi
mov dword [edx + 0x38], eax
cmp edi, dword [edx + 0x24]
jb 0x42cc70
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
jmp 0x431e6a
mov edi, ecx
cmp word [edi + 0x48], 0
je 0x42cc94
cmp eax, dword [edi + 0x64]
jbe 0x42cc94
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
jmp 0x42cc94
mov eax, dword [eax + 0x20]
test esi, esi
mov esi, 1
je 0x42cd4d
cmp eax, esi
jb 0x42cd88
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
jmp 0x42ccf3
mov eax, dword [ebp - 4]
cmp edx, dword [edi + 0x5c]
jae 0x42de7c
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42cd37
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x42cd3a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je case.0x42bb63.160
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x42ccf0
jmp 0x42cd88
cmp eax, 1
jb 0x42cd88
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
nop dword [eax + eax]
cmp edx, dword [edi + 0x5c]
jae 0x42de7c
mov ebx, dword [ebp - 4]
movzx eax, word [edx]
add edx, 2
mov dword [ebx + 0x38], edx
cmp dword [ebx + 0x28], eax
mov eax, ebx
je 0x42bf48
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x42cd60
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 0x24]
je 0x42bb3e
cmp dword [ebp - 0xc], 0
je 0x43367c
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test esi, esi
je 0x42ce61
cmp edi, eax
jae 0x42ce5c
mov eax, ebx
mov edx, dword [eax + 0x38]
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42ce3f
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42ce0d
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x42ce21
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42cdd0
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
jmp 0x432761
mov edi, eax
cmp word [edi + 0x48], 0
je 0x42ce24
cmp edx, dword [edi + 0x64]
jbe 0x42ce24
mov dword [edi + 0x2c], esi
cmp word [edi + 0x48], si
ja 0x42cc4b
jmp 0x42ce24
mov edi, dword [ebp + 0x20]
jmp 0x42ce27
cmp edi, eax
jae 0x42ce91
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x5c]
jae 0x42ceaf
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x42ce91
mov eax, ebx
add ecx, 2
inc edi
mov dword [eax + 0x38], ecx
cmp edi, dword [eax + 0x24]
jb 0x42ce70
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
jmp 0x431ee8
mov edi, eax
cmp word [edi + 0x48], 0
je 0x42ce94
cmp ecx, dword [edi + 0x64]
jbe 0x42ce94
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
jmp 0x42ce94
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
add eax, 2
mov dword [ecx + 8], eax
mov eax, ecx
add dword [eax], 0x22
mov edx, dword [eax]
movzx ecx, word [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x42cefc
movzx eax, byte [eax + 0x433fe4]
jmp dword [eax*4 + 0x433fdc]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x450b28]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x450b54]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 4]
mov edx, dword [ecx*4 + str.UCP_]
mov dword [ebp - 0xc], edx
mov eax, dword [eax + 0x20]
jmp 0x42cf89
mov ecx, dword [ebp - 4]
movzx eax, word [edx + 2]
mov dword [ecx + 0x20], eax
mov eax, ecx
mov ecx, 0xffffffff
mov eax, dword [eax]
movzx eax, word [eax + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
mov eax, dword [eax*4 + str.UCP_]
mov dword [ebp - 0xc], eax
lea eax, [ecx + 6]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, ecx
mov eax, dword [eax + 0x20]
jmp 0x42cf89
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
mov eax, 1
mov ebx, 1
test esi, esi
je 0x42d069
cmp eax, ebx
jb 0x42d0c7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov edi, dword [eax + 0x38]
cmp edi, dword [ecx + 0x5c]
jae 0x42d037
movzx esi, word [edi]
add edi, 2
mov dword [eax + 0x38], edi
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42cfeb
movzx eax, word [edi]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov eax, dword [ebp - 4]
add esi, 0x10000
add edi, 2
mov dword [eax + 0x38], edi
jmp 0x42cfee
mov eax, dword [ebp - 4]
cmp esi, 0xff
jbe 0x42d002
cmp byte [eax + 0x31], 0x6e
je 0x42bdc6
jmp 0x42d023
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [ebp - 4]
je 0x42c870
mov ecx, dword [ebp + 0x20]
mov eax, dword [eax + 0x20]
inc ebx
cmp ebx, eax
ja 0x42d0c7
mov eax, dword [ebp - 4]
jmp 0x42cfa7
cmp word [ecx + 0x48], 0
je 0x42d061
cmp edi, dword [ecx + 0x64]
mov edi, dword [ebp + 0x20]
jbe case.0x42bb63.160
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
jmp case.0x42bb63.160
mov edi, dword [ebp + 0x20]
jmp case.0x42bb63.160
cmp eax, 1
jb 0x42d0c7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov edi, dword [eax + 0x38]
cmp edi, dword [ecx + 0x5c]
jae 0x42d037
movzx esi, word [edi]
add edi, 2
mov dword [eax + 0x38], edi
cmp esi, 0xff
jbe 0x42d099
cmp byte [eax + 0x31], 0x6e
je 0x42bdc6
jmp 0x42d0ba
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [ebp - 4]
je 0x42c870
mov ecx, dword [ebp + 0x20]
mov eax, dword [eax + 0x20]
inc ebx
cmp ebx, eax
ja 0x42d0c7
mov eax, dword [ebp - 4]
jmp 0x42d077
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 0x24]
je 0x42bb31
cmp dword [ebp - 0xc], 0
je 0x433692
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1c], ecx
test esi, esi
je 0x42d1d3
cmp ecx, eax
jae 0x42d1ae
mov eax, ebx
mov edi, dword [eax + 0x38]
nop word [eax + eax]
mov eax, dword [ebp + 0x20]
mov ebx, 1
cmp edi, dword [eax + 0x5c]
jae 0x42d191
movzx esi, word [edi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d14d
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov ebx, 2
add esi, 0x10000
mov eax, dword [ebp - 4]
cmp esi, 0xff
jbe 0x42d160
cmp byte [eax + 0x31], 0x6e
je 0x42d18c
jmp 0x42d17d
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x42d18c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
lea edi, [edi + ebx*2]
inc ecx
mov dword [eax + 0x38], edi
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [eax + 0x24]
jb 0x42d110
mov edi, dword [ebp + 0x20]
jmp 0x42d1b5
cmp word [eax + 0x48], 0
je 0x42d1b3
cmp edi, dword [eax + 0x64]
mov edi, eax
jbe 0x42d1b5
mov dword [edi + 0x2c], ebx
cmp word [edi + 0x48], bx
ja 0x42cc4b
jmp 0x42d1b5
mov edi, dword [ebp + 0x20]
jmp 0x42d1b8
mov edi, eax
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x42bb3e
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x433c31
cmp ecx, eax
jae 0x42d27b
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov edi, dword [eax + 0x38]
cmp edi, dword [edx + 0x5c]
jae 0x42d258
movzx esi, word [edi]
cmp esi, 0xff
jbe 0x42d227
cmp byte [eax + 0x31], 0x6e
jne 0x42d247
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x42bb3e
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x18
jmp 0x433c31
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x42d1fa
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
add edi, 2
inc ecx
mov dword [eax + 0x38], edi
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [eax + 0x24]
jb 0x42d1e4
jmp 0x42d1fa
cmp word [edx + 0x48], 0
je 0x42d1fa
cmp edi, dword [edx + 0x64]
mov edi, dword [ebp + 0x20]
jbe 0x42d1fd
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
jmp 0x42d1fd
mov edi, dword [ebp + 0x20]
jmp 0x42d200
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
add eax, 4
mov dword [ecx + 8], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
movzx edx, word [ecx]
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x42d2b4
movzx eax, byte [eax + 0x433ff8]
jmp dword [eax*4 + 0x433ff0]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [edx*4 + 0x450b28]
mov dword [ecx + 0x20], eax
mov eax, dword [edx*4 + 0x450b54]
mov edx, dword [edx*4 + str.UCP_]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [eax + 0x20]
jmp 0x42d340
movzx eax, word [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x20], eax
mov eax, ecx
mov ecx, 0xffffffff
mov eax, dword [eax]
movzx eax, word [eax + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov ecx, dword [eax]
movzx eax, word [ecx]
mov eax, dword [eax*4 + str.UCP_]
mov dword [ebp - 0xc], eax
lea eax, [ecx + 6]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, ecx
mov eax, dword [eax + 0x20]
jmp 0x42d340
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
mov eax, 1
mov esi, 1
cmp eax, esi
jb 0x42d3c6
nop dword [eax]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x42d4b2
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
je 0x42d3a4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d3a1
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push ecx
call fcn.0043a6a0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 4]
je 0x42bf48
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x42d350
mov ebx, dword [ebp - 4]
cmp eax, dword [ebx + 0x24]
je 0x42bb3b
cmp dword [ebp - 0xc], 0
je 0x432320
mov eax, ebx
mov ecx, ebx
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
mov eax, ebx
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42d46c
mov edx, dword [eax + 0x38]
mov ebx, dword [ebp - 8]
jmp 0x42d403
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [ecx + 0x5c]
jae 0x42d48a
movzx ecx, word [edx]
test ebx, ebx
je 0x42d447
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d444
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
push ebx
push dword [eax + 8]
push ecx
call fcn.0043a6a0
add esp, 0xc
test eax, eax
je 0x42d46c
mov ecx, dword [ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
mov edx, dword [eax + 0x38]
cmp edi, dword [eax + 0x24]
jb 0x42d400
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
je 0x42bb3b
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x433c31
mov edi, ecx
cmp word [edi + 0x48], 0
je 0x42d46f
cmp edx, dword [edi + 0x64]
jbe 0x42d46f
mov dword [edi + 0x2c], esi
cmp word [edi + 0x48], si
ja 0x42cc4b
jmp 0x42d46f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d4c1
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d501
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d501
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x42d5d0
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 8
je 0x42d5d0
xor esi, esi
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp dword [eax + 0x18], 0
je 0x433d92
sub eax, dword [eax + 0x10]
mov dword [ebp - 4], eax
mov eax, dword [edi + 0xa0]
mov ebx, dword [ebp - 4]
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xdd
ja case.0x431fb4.15
movzx eax, byte [eax + 0x4340f0]
jmp dword [eax*4 + 0x434004]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d577
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d5b7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d5b7
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 8
je case.0x42bb63.160
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x42bb3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d5f9
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d639
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d639
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x42d5d0
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
jmp 0x42d514
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d66b
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d6ab
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d6ab
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
je case.0x42bb63.160
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x42bb3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d6ed
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d72d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d72d
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja 0x42d5d0
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
jmp 0x42d514
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d763
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d7a3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d7a3
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
ja case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je case.0x42bb63.160
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x42bb3e
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
cmp esi, dword [edi + 0x5c]
jb 0x42d7e5
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp esi, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 8], 0
mov edx, esi
mov dword [eax + 0x38], esi
je 0x42d826
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d826
movzx eax, word [esi]
lea edx, [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], edx
cmp ecx, 0xd
ja 0x42d88e
je 0x42d841
cmp ecx, 0xa
je 0x42d8b9
jbe case.0x42bb63.160
cmp ecx, 0xc
jmp 0x42d8a8
cmp edx, dword [edi + 0x5c]
jb 0x42d872
cmp word [edi + 0x48], 0
je 0x42d8b9
cmp edx, dword [edi + 0x64]
jbe 0x42d8b9
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
add dword [eax], 2
jmp 0x42bb41
cmp word [edx], 0xa
jne 0x42d8b9
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x42bb41
cmp ecx, 0x85
je 0x42d8ae
cmp ecx, 0x2027
jbe case.0x42bb63.160
cmp ecx, 0x2029
ja case.0x42bb63.160
cmp word [edi + 0x4a], 2
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
add dword [eax], 2
jmp 0x42bb41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d8e5
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42d928
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d925
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x42d972
je case.0x42bb63.160
cmp ecx, 0xa0
ja 0x42d95e
je case.0x42bb63.160
cmp ecx, 9
je case.0x42bb63.160
cmp ecx, 0x20
je case.0x42bb63.160
add dword [eax], 2
jmp 0x42bb3e
cmp ecx, 0x1680
je case.0x42bb63.160
add dword [eax], 2
jmp 0x42bb3e
cmp ecx, 0x205f
ja 0x42d9ac
je case.0x42bb63.160
cmp ecx, 0x2000
jb 0x42d5d3
cmp ecx, 0x200a
jbe case.0x42bb63.160
cmp ecx, 0x202f
je case.0x42bb63.160
add dword [eax], 2
jmp 0x42bb3e
cmp ecx, 0x3000
je case.0x42bb63.160
add dword [eax], 2
jmp 0x42bb3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42d9de
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42da21
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42da1e
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x42da53
je 0x42d5d3
cmp ecx, 0xa0
ja 0x42da4b
je 0x42d5d3
cmp ecx, 9
je 0x42d5d3
cmp ecx, 0x20
jmp 0x42da87
cmp ecx, 0x1680
jmp 0x42da87
cmp ecx, 0x205f
ja 0x42da81
je 0x42d5d3
cmp ecx, 0x2000
jb case.0x42bb63.160
cmp ecx, 0x200a
jbe 0x42d5d3
cmp ecx, 0x202f
jmp 0x42da87
cmp ecx, 0x3000
je 0x42d5d3
jmp case.0x42bb63.160
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42dab0
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42daf0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42daf0
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x42db1b
je case.0x42bb63.160
cmp ecx, 0xa
jb 0x42d5d0
cmp ecx, 0xd
jbe case.0x42bb63.160
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x42bb3e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x42d5d0
jmp case.0x42bb63.160
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42db4d
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
test esi, esi
je 0x42db8d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42db8d
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x85
ja 0x42dbb2
je 0x42d5d0
cmp ecx, 0xa
jb case.0x42bb63.160
cmp ecx, 0xd
jbe 0x42d5d0
jmp case.0x42bb63.160
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42bb63.160
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x42bb3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x42dbea
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx edx, word [eax]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
test esi, esi
je 0x42dc2a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42dc2a
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
movzx eax, word [esi + 2]
cmp eax, 0xa
ja case.0x431fb4.15
jmp dword [eax*4 + 0x4341d0]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0xf
je case.0x42bb63.160
add dword [eax], 6
jmp 0x42bb3b
mov al, byte [ecx*4 + 0x452509]
cmp al, 9
je 0x42dc91
cmp al, 5
je 0x42dc91
cmp al, 8
je 0x42dc91
xor ecx, ecx
jmp 0x42dc96
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp byte [ebx + 0x31], 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
jne 0x42dc72
xor esi, esi
jmp 0x42d51f
movzx ecx, byte [ecx*4 + 0x452509]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4511b0]
mov ecx, dword [ebp - 4]
setne dl
xor eax, eax
cmp byte [ecx + 0x31], 0x10
sete al
cmp edx, eax
mov eax, ecx
jne 0x42dc72
xor esi, esi
jmp 0x42d51f
movzx eax, byte [ecx*4 + 0x452509]
mov ebx, dword [ebp - 4]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp byte [ebx + 0x31], 0x10
jmp 0x42dc9f
movzx eax, byte [ecx*4 + 0x452508]
jmp 0x42dce9
movzx eax, byte [ecx*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x42dc91
cmp eax, 3
je 0x42dc91
xor ecx, ecx
jmp 0x42dc96
cmp edx, 0x180e
ja 0x42dd62
je case.0x42dd7e.8192
cmp edx, 0x85
ja 0x42dd52
je case.0x42dd7e.8192
cmp edx, 9
jb case.0x42dd7e.8203
cmp edx, 0xd
jbe case.0x42dd7e.8192
cmp edx, 0x20
jmp 0x42dd93
cmp edx, 0xa0
je case.0x42dd7e.8192
cmp edx, 0x1680
jmp 0x42dd93
cmp edx, 0x202f
ja 0x42dd85
je case.0x42dd7e.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x42dd7e.8203
movzx eax, byte [edx + 0x434204]
jmp dword [eax*4 + 0x4341fc]
cmp edx, 0x205f
je case.0x42dd7e.8192
cmp edx, 0x3000
je case.0x42dd7e.8192
movzx eax, byte [ecx*4 + 0x452509]
xor ecx, ecx
cmp dword [eax*4 + 0x4511b0], 6
sete cl
jmp 0x42dc96
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0xf
jmp 0x42dca4
movzx eax, byte [ecx*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x42dc91
cmp eax, 3
je 0x42dc91
cmp edx, 0x5f
je 0x42dc91
xor ecx, ecx
jmp 0x42dc96
movzx eax, word [esi + 4]
mov ecx, dword [eax*4 + 0x452150]
lea eax, [eax*4 + 0x452150]
cmp edx, ecx
jb 0x42de0f
lea eax, [eax + 4]
cmp edx, ecx
je 0x42de1b
mov ecx, dword [eax]
cmp edx, ecx
jae 0x42de02
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x10
jmp 0x42dca4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x10
je 0x42dc72
xor esi, esi
jmp 0x42d51f
cmp edx, 0x24
je 0x42dc91
cmp edx, 0x40
je 0x42dc91
cmp edx, 0x60
je 0x42dc91
cmp edx, 0xa0
jb 0x42de5e
cmp edx, 0xd7ff
jbe 0x42dc91
cmp edx, 0xe000
jae 0x42dc91
xor ecx, ecx
jmp 0x42dc96
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x5c]
jb 0x42de8f
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp edx, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [edx]
add edx, 2
mov ebx, dword [ebp - 8]
mov esi, edx
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x42ded1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42ded1
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
push 0
push ebx
push dword [edi + 0x5c]
push dword [edi + 0x58]
push esi
push ecx
call fcn.00439f80
mov ecx, dword [ebp - 4]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp word [edi + 0x48], 0
je 0x42df0d
cmp eax, dword [edi + 0x5c]
jb 0x42df0d
cmp eax, dword [edi + 0x64]
jbe 0x42df0d
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
mov esi, ebx
add dword [eax], 2
jmp 0x42bb3e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42e016
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 4]
mov ebx, ecx
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
mov eax, dword [eax]
cmp word [eax], 0x5c
setne dl
add eax, 4
mov dword [ebp - 0xc], edx
mov dword [ebx], eax
jmp 0x42e01b
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x42e016
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
add dword [eax], 2
jmp 0x42e016
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
add dword [eax], 2
jmp 0x42e016
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov dword [ecx + 0x24], eax
mov eax, ecx
add dword [eax], 4
jmp 0x42e016
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax]
movzx ecx, word [eax]
add eax, 2
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x450b5c]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + str.NOTEMPTY_]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x450bb4]
mov dword [ebp - 0xc], eax
mov eax, edx
mov ebx, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax]
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, 2
mov dword [eax], ecx
mov eax, dword [eax + 0x28]
cmp eax, 0x10
je 0x42e040
cmp eax, 0xf
je 0x42e040
mov eax, dword [ebp - 4]
or ebx, 0xffffffff
jmp 0x42e056
movzx ebx, word [ecx]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
movzx eax, word [eax]
mov dword [ecx + 0x2c], eax
mov eax, ecx
add dword [eax], 2
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x1c], ebx
test edx, edx
je 0x42e1b0
test ebx, ebx
js 0x42e836
cmp ebx, 0xa
ja case.0x431fb4.15
jmp dword [ebx*4 + 0x434230]
cmp dword [eax + 0x28], 0xf
je case.0x42bb63.160
mov ecx, dword [eax + 0x38]
mov esi, 1
mov ebx, dword [ebp - 8]
cmp ecx, dword [edi + 0x5c]
jae 0x42e0cf
movzx edx, word [ecx]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, eax
test ebx, ebx
je 0x42e0c1
and edx, 0xfc00
cmp edx, 0xd800
jne 0x42e0c1
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x42e0c4
mov eax, dword [ebp - 4]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x42e091
jmp 0x42e1ad
cmp word [edi + 0x48], 0
je 0x42e0ed
cmp ecx, dword [edi + 0x64]
jbe 0x42e0ed
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
xor esi, esi
mov edx, ebx
jmp 0x42d522
mov esi, dword [eax + 0x38]
mov edi, 1
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x5c]
jae 0x42e1ec
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x42e14e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e14e
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x452509]
cmp al, 9
je 0x42e185
cmp al, 5
je 0x42e185
cmp al, 8
je 0x42e185
xor ecx, ecx
jmp 0x42e18a
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42c870
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e101
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 0x24]
je 0x42bb3b
cmp dword [ebp - 0xc], 0
je 0x4336ab
mov eax, ebx
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1c]
test eax, eax
js 0x42fd9d
cmp eax, 0xa
ja case.0x431fb4.15
jmp dword [eax*4 + 0x43425c]
mov edi, ecx
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp esi, dword [edi + 0x64]
jmp 0x42d044
mov esi, dword [eax + 0x38]
mov edi, 1
nop dword [eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x5c]
jae 0x42e1ec
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x42e259
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e259
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, dword [edx + 0x2c]
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x42c870
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e210
jmp 0x42e1aa
mov esi, dword [eax + 0x38]
mov edi, 1
nop dword [eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x5c]
jae 0x42e1ec
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x42e30d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e30d
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
cmp eax, dword [edx + 0x2c]
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x42c870
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e2c0
jmp 0x42e1aa
mov esi, dword [eax + 0x38]
mov edi, 1
nop word [eax + eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x5c]
jae 0x42e1ec
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x42e3bd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e3bd
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452508]
cmp eax, dword [edx + 0x2c]
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x42c870
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e370
jmp 0x42e1aa
mov esi, dword [eax + 0x38]
mov edi, 1
nop word [eax + eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x5c]
jae 0x42e1ec
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x42e46d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e46d
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x42e4aa
cmp eax, 3
je 0x42e4aa
xor ecx, ecx
jmp 0x42e4af
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42c870
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e420
jmp 0x42e1aa
mov esi, 1
nop dword [eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x42d4b2
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
je 0x42e530
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e530
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x42e533
mov edx, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x42e576
je case.0x42e592.8192
cmp ecx, 0x85
ja 0x42e562
je case.0x42e592.8192
cmp ecx, 9
jb case.0x42e592.8203
cmp ecx, 0xd
jbe case.0x42e592.8192
cmp ecx, 0x20
jmp 0x42e5a7
cmp ecx, 0xa0
je case.0x42e592.8192
cmp ecx, 0x1680
jmp 0x42e5a7
cmp ecx, 0x202f
ja 0x42e599
je case.0x42e592.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x42e592.8203
movzx eax, byte [eax + 0x434290]
jmp dword [eax*4 + 0x434288]
cmp ecx, 0x205f
je case.0x42e592.8192
cmp ecx, 0x3000
je case.0x42e592.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
cmp dword [eax*4 + 0x4511b0], 6
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x42bf48
jmp 0x42e601
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je case.0x42bb63.160
inc esi
cmp esi, dword [eax + 0x20]
mov eax, dword [ebp - 4]
ja 0x42e1b0
jmp 0x42e4e0
mov esi, dword [eax + 0x38]
mov edi, 1
nop dword [eax + eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x5c]
jae 0x42e1ec
cmp dword [ebp - 8], 0
lea ecx, [esi + 2]
movzx edx, word [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x42e66d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e66d
movzx eax, word [ecx]
lea esi, [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, dword [ebp - 4]
add edx, 0x10000
mov dword [eax + 0x38], esi
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x42e6b1
cmp eax, 3
je 0x42e6b1
cmp edx, 0x5f
je 0x42e6b1
xor ecx, ecx
jmp 0x42e6b6
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42c870
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e620
jmp 0x42e1aa
mov esi, 1
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x42d4b2
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
je 0x42e731
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e72e
movzx eax, word [edx]
and ecx, 0x3ff
mov ebx, dword [ebp - 4]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x452150]
lea eax, [eax*4 + 0x452150]
cmp ecx, edx
jb 0x42e753
lea eax, [eax + 4]
cmp ecx, edx
je 0x42e772
mov edx, dword [eax]
cmp ecx, edx
jae 0x42e746
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
jne 0x42bf48
inc esi
cmp esi, dword [eax + 0x20]
mov eax, dword [ebp - 4]
ja 0x42e1b0
jmp 0x42e6e0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je case.0x42bb63.160
jmp 0x42e760
mov esi, 1
nop word [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x42d4b2
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
je 0x42e7e0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e7e0
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x42e7e3
mov edx, dword [ebp - 4]
cmp ecx, 0x24
je 0x42e80e
cmp ecx, 0x40
je 0x42e80e
cmp ecx, 0x60
je 0x42e80e
cmp ecx, 0xa0
jb 0x42e802
cmp ecx, 0xd7ff
jbe 0x42e80e
cmp ecx, 0xe000
jae 0x42e80e
xor ecx, ecx
jmp 0x42e813
mov ecx, 1
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x42bf48
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x42e790
jmp 0x42e1ad
mov eax, dword [eax + 0x28]
cmp eax, 0x16
jne 0x42e907
mov ebx, dword [ebp + 0x20]
lea edi, [eax - 0x15]
mov eax, dword [ebp - 4]
nop dword [eax + eax]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x42e8f2
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov esi, edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
je 0x42e8a0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42e8a0
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push esi
push ecx
call fcn.00439f80
mov ecx, dword [ebp - 4]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp word [ebx + 0x48], 0
je 0x42e8de
cmp eax, dword [ebx + 0x5c]
jb 0x42e8de
cmp eax, dword [ebx + 0x64]
jbe 0x42e8de
mov dword [ebx + 0x2c], 1
cmp word [ebx + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x42e850
mov edi, ebx
jmp 0x42e1ad
mov edi, ebx
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x431fb4.15
test esi, esi
je 0x42eff9
jmp dword [eax*4 + 0x4342bc]
jmp dword [eax*4 + 0x4342fc]
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp ecx, dword [edi + 0x64]
jmp 0x42d044
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, dword [eax + 0x24]
jae 0x42f68f
mov edx, dword [eax + 0x38]
mov ebx, dword [ebp - 8]
mov ecx, 1
cmp edx, dword [edi + 0x5c]
jae 0x42f5a6
test ebx, ebx
je 0x42f58b
mov eax, 0xfc00
and ax, word [edx]
cmp ax, word [ebp - 0x44]
mov eax, 2
cmove ecx, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x42f68f
lea edx, [edx + ecx*2]
inc esi
mov dword [eax + 0x38], edx
cmp esi, dword [eax + 0x24]
jb 0x42f566
jmp 0x42f68f
cmp word [edi + 0x48], 0
je 0x42f68f
cmp edx, dword [edi + 0x64]
jbe 0x42f68f
mov dword [edi + 0x2c], ecx
cmp word [edi + 0x48], cx
ja 0x42cc4b
jmp 0x42f68f
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42f689
mov edx, dword [eax + 0x38]
nop
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42f627
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f627
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x452509]
cmp al, 9
je 0x42f65e
cmp al, 5
je 0x42f65e
cmp al, 8
je 0x42f65e
xor ecx, ecx
jmp 0x42f663
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42fad8
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42f5e0
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x1c]
je 0x42bb41
mov ecx, dword [eax + 0x38]
jmp 0x43361b
mov edi, eax
cmp word [edi + 0x48], 0
je 0x42f68c
cmp edx, dword [edi + 0x64]
jbe 0x42f68c
mov dword [edi + 0x2c], esi
cmp word [edi + 0x48], si
ja 0x42cc4b
jmp 0x42f68c
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42f689
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42f715
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f715
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42fad8
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42f6d2
jmp 0x42f689
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42f689
mov edx, dword [eax + 0x38]
nop dword [eax]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42f7d7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f7d7
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42fad8
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42f790
jmp 0x42f689
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42f689
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42f88b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f88b
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452508]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42fad8
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42f844
jmp 0x42f689
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42f689
mov edx, dword [eax + 0x38]
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42f947
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f947
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x42f984
cmp eax, 3
je 0x42f984
xor ecx, ecx
jmp 0x42f989
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, ebx
je 0x42fad8
lea edx, [edx + esi*2]
inc edi
mov dword [eax + 0x38], edx
cmp edi, dword [eax + 0x24]
jb 0x42f900
jmp 0x42f689
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x20]
cmp ebx, dword [eax + 0x24]
jae 0x42f68c
mov edx, dword [eax + 0x38]
mov edi, edx
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42fa17
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fa17
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x42fa5a
je case.0x42fa7a.8192
cmp ecx, 0x85
ja 0x42fa46
je case.0x42fa7a.8192
cmp ecx, 9
jb case.0x42fa7a.8203
cmp ecx, 0xd
jbe case.0x42fa7a.8192
cmp ecx, 0x20
jmp 0x42fa8f
cmp ecx, 0xa0
je case.0x42fa7a.8192
cmp ecx, 0x1680
jmp 0x42fa8f
cmp ecx, 0x202f
ja 0x42fa81
je case.0x42fa7a.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x42fa7a.8203
movzx eax, byte [eax + 0x434344]
jmp dword [eax*4 + 0x43433c]
cmp ecx, 0x205f
je case.0x42fa7a.8192
cmp ecx, 0x3000
je case.0x42fa7a.8192
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
cmp dword [eax*4 + 0x4511b0], 6
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, edx
jne 0x42faef
mov edi, dword [ebp + 0x20]
jmp 0x42f68f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x42f689
mov edi, edx
lea edx, [edi + esi*2]
inc ebx
mov dword [eax + 0x38], edx
mov edi, edx
cmp ebx, dword [eax + 0x24]
jb 0x42f9d0
jmp 0x42f689
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x20]
cmp ebx, dword [eax + 0x24]
jae 0x42f68c
mov esi, dword [eax + 0x38]
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
mov edi, 1
cmp esi, dword [eax + 0x5c]
jae 0x42fbdb
cmp dword [ebp - 8], 0
movzx edx, word [esi]
je 0x42fb67
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fb67
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x42fbab
cmp eax, 3
je 0x42fbab
cmp edx, 0x5f
je 0x42fbab
xor ecx, ecx
jmp 0x42fbb0
mov ecx, 1
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x42fad8
lea esi, [esi + edi*2]
inc ebx
mov dword [eax + 0x38], esi
cmp ebx, dword [eax + 0x24]
jb 0x42fb20
jmp 0x42f689
mov edi, eax
cmp word [edi + 0x48], 0
je 0x42f68c
cmp esi, dword [edi + 0x64]
jbe 0x42f68c
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
jmp 0x42f68c
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x20]
cmp edi, dword [eax + 0x24]
jae 0x42f689
mov edx, dword [eax + 0x38]
mov ebx, dword [ebp - 8]
nop dword [eax]
mov ecx, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [ecx + 0x5c]
jae 0x42fcc4
movzx ecx, word [edx]
test ebx, ebx
je 0x42fc68
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fc65
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x452150]
lea eax, [eax*4 + 0x452150]
cmp ecx, edx
jb 0x42fc8d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x42fcb5
mov edx, dword [eax]
cmp ecx, edx
jae 0x42fc80
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x28], 0xf
jne 0x42f689
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp - 4]
cmp edi, dword [ecx + 0x24]
jb 0x42fc20
jmp 0x42f689
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x28], 0xf
je 0x42f689
jmp 0x42fc9a
mov edi, ecx
cmp word [edi + 0x48], 0
je 0x42f68c
cmp edx, dword [edi + 0x64]
jbe 0x42f68c
mov dword [edi + 0x2c], esi
cmp word [edi + 0x48], si
ja 0x42cc4b
jmp 0x42f68c
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x42f689
mov edx, dword [ebx + 0x38]
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [eax + 0x5c]
jae 0x42f6a7
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x42fd47
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fd47
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x42fd72
cmp ecx, 0x40
je 0x42fd72
cmp ecx, 0x60
je 0x42fd72
cmp ecx, 0xa0
jb 0x42fd66
cmp ecx, 0xd7ff
jbe 0x42fd72
cmp ecx, 0xe000
jae 0x42fd72
xor ecx, ecx
jmp 0x42fd77
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x42f689
lea edx, [edx + esi*2]
inc edi
mov dword [ebx + 0x38], edx
cmp edi, dword [ebx + 0x24]
jb 0x42fd00
jmp 0x42f689
mov eax, dword [ebx + 0x28]
cmp eax, 0x16
jne 0x42fe94
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x42fe7c
mov ecx, dword [ebp + 0x20]
nop dword [eax + eax]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x5c]
jae 0x42fe59
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x42fe0a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fe0a
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
mov dword [ebx + 0x38], esi
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp + 0x20]
push 0
push dword [ebp - 8]
push dword [eax + 0x5c]
push dword [eax + 0x58]
push esi
push ecx
call fcn.00439f80
mov ecx, dword [ebp + 0x20]
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp word [ecx + 0x48], 0
je 0x42fe4b
cmp eax, dword [ecx + 0x5c]
jb 0x42fe4b
cmp eax, dword [ecx + 0x64]
jbe 0x42fe4b
mov dword [ecx + 0x2c], 1
cmp word [ecx + 0x48], 1
ja 0x42cc4b
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x42fdc0
mov edi, ecx
jmp 0x42fe7f
mov edi, dword [ebp + 0x20]
cmp word [edi + 0x48], 0
je 0x42fe7f
cmp eax, dword [edi + 0x64]
jbe 0x42fe7f
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
jmp 0x42fe7f
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
mov esi, dword [ebp - 8]
je 0x42bb3e
mov edx, dword [ebx + 4]
jmp 0x433601
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x431fb4.15
mov esi, dword [ebp - 8]
test esi, esi
je 0x4305f3
jmp dword [eax*4 + 0x434370]
jmp dword [eax*4 + 0x4343b0]
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dl, 0x74
sete al
mov dword [ebx + 0x28], eax
mov edx, dword [ebx]
movzx eax, word [edi + 0x4e]
movzx ecx, word [edx + 2]
movzx esi, word [edx + 4]
imul ecx, eax
mov eax, dword [edi + 0x50]
lea ecx, [eax + ecx*2]
lea eax, [edx + 6]
mov dword [ebx], eax
test esi, esi
je 0x430c48
nop dword [eax]
movzx eax, word [ecx]
dec esi
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
cmp eax, dword [ebx + 0x50]
jae 0x430c1a
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne 0x430c48
movzx eax, word [edi + 0x4e]
lea ecx, [ecx + eax*2]
test esi, esi
jg 0x430c00
jmp 0x430c48
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dl, 0x72
sete al
mov dword [ebx + 0x28], eax
mov eax, dword [ebx]
movzx eax, word [eax + 2]
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
add dword [ebx], 4
mov ecx, dword [ebx]
movzx edx, word [ecx]
lea eax, [edx - 0x62]
cmp eax, 7
ja case.default.0x430c60
movzx eax, byte [eax + 0x4343f8]
jmp dword [eax*4 + 0x4343f0]
mov esi, dword [edx*4 + str.UCP_]
lea eax, [ecx + 2]
mov dword [ebx], eax
mov eax, dword [edx*4 + 0x450b28]
mov dword [ebx + 0x20], eax
mov eax, dword [edx*4 + 0x450b54]
mov dword [ebx + 0x24], eax
mov dword [ebp - 0xc], esi
jmp 0x430cbb
movzx eax, word [ecx + 2]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx]
movzx ecx, word [eax + 4]
mov dword [ebx + 0x24], ecx
mov edx, dword [ebx]
movzx eax, word [edx]
mov eax, dword [eax*4 + str.UCP_]
mov dword [ebp - 0xc], eax
test ecx, ecx
jne 0x430cb6
mov dword [ebx + 0x24], 0xffffffff
lea eax, [edx + 6]
mov dword [ebx], eax
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebx + 0x50]
jae 0x430cde
mov ecx, dword [ebx + eax*4 + 0x54]
cmp ecx, 0xffffffff
je 0x430cde
mov esi, dword [ebp - 8]
cmp ecx, dword [ebx + eax*4 + 0x58]
je 0x42bb3e
mov eax, dword [ebx + 0x20]
jmp 0x430cfc
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp - 8]
test eax, eax
je 0x42bb3e
test dword [edi + 0x84], 0x200
jne 0x42bb3e
mov esi, 1
cmp eax, esi
jb 0x430d31
lea eax, [ebp - 0x4c]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.00434540
add esp, 0x14
test eax, eax
jne 0x430da2
mov eax, dword [ebp - 0x4c]
inc esi
add eax, eax
add dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x20]
cmp esi, eax
jbe 0x430d05
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 0x24]
je 0x42bb3e
cmp dword [ebp - 0xc], 0
je 0x433789
mov eax, dword [ebx + 0x38]
mov esi, 1
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + ecx*4 + 0x58]
sub eax, dword [ebx + ecx*4 + 0x54]
mov dword [ebx + 0xc], eax
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x430df7
nop dword [eax]
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 0x20]
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.00434540
add esp, 0x14
test eax, eax
jne 0x430dc9
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, dword [ebx + 0xc]
cmovne esi, ecx
add eax, eax
add dword [ebx + 0x38], eax
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x430d70
jmp 0x430def
jle 0x430daa
mov eax, dword [edi + 0x5c]
mov dword [ebx + 0x38], eax
cmp word [edi + 0x48], 0
je case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
jle 0x430def
mov ecx, dword [ebp + 0x20]
cmp word [ecx + 0x48], 0
je 0x430def
mov eax, dword [ecx + 0x5c]
cmp eax, dword [ecx + 0x64]
jbe 0x430def
mov dword [ecx + 0x2c], 1
cmp word [ecx + 0x48], 1
ja 0x42cc4b
test esi, esi
je 0x4336e4
mov edi, dword [ebp + 0x20]
jmp 0x431c0d
lea eax, [ebp + 0xc]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.00434540
add esp, 0x14
test eax, eax
je 0x430e3e
jle 0x430e1f
mov eax, dword [edi + 0x5c]
mov dword [ebx + 0x38], eax
cmp word [edi + 0x48], 0
je case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
mov eax, dword [ebp + 0xc]
add eax, eax
add dword [ebx + 0x38], eax
jmp 0x42bb3b
mov edx, dword [ebp - 4]
add dword [edx], 2
mov ecx, dword [edx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx], ecx
cmp word [ecx], 0x78
je 0x430e53
lea eax, [ecx + 4]
mov dword [edx], eax
jmp 0x42bb41
cmp dword [edi + 0x30], 0
mov ebx, dword [ebp - 4]
jne 0x4336f8
cmp dword [ebx + 0x18], 0
je 0x4336f8
mov ecx, dword [ebx]
jmp 0x431820
mov ebx, dword [ebp - 4]
lea eax, [ebp + 0xc]
push eax
push edi
push ebx
call fcn.0042b920
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x42bb63.160
js 0x42d51c
mov eax, dword [ebp + 0xc]
add eax, eax
add dword [ebx], eax
jmp 0x42bb3b
mov ebx, dword [ebp - 4]
mov eax, dword [ebx]
movzx eax, word [eax + 2]
mov dword [ebx + 0xc], eax
mov ecx, dword [ebx]
cmp word [ecx + eax*2], 0x78
je 0x430ed2
add eax, 0xfffffffe
mov dword [ebx + 0xc], eax
add ecx, 4
mov dword [ebx], ecx
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x76
je 0x430ee6
cmp eax, 0x77
jne 0x430f14
lea eax, [ebp + 0xc]
push eax
push edi
push ebx
call fcn.0042b920
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x42bb63.160
js 0x42d51c
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + ecx]
add dword [ebx], eax
sub dword [ebx + 0xc], ecx
mov ecx, dword [ebx]
movzx edx, word [ecx]
movzx eax, dx
add eax, 0xffffff72
movzx esi, dx
cmp eax, 0x12
ja case.0x430f2f.148
movzx eax, byte [eax + 0x43441c]
jmp dword [eax*4 + 0x434400]
mov edx, dword [ebx + 0x44]
cmp edx, 0xffffffff
je case.0x430f2f.146
movzx eax, word [ecx + 2]
cmp eax, 0xffff
je case.0x430f2f.147
cmp eax, edx
je case.0x430f2f.147
jmp case.0x430f2f.146
mov esi, dword [ebx + 0x44]
cmp esi, 0xffffffff
je case.0x430f2f.146
movzx edx, word [ecx + 4]
movzx ecx, word [ecx + 2]
movzx edi, word [edi + 0x4e]
mov eax, dword [ebp + 0x20]
imul ecx, edi
mov eax, dword [eax + 0x50]
lea ecx, [eax + ecx*2]
test edx, edx
je 0x431025
nop word [eax + eax]
movzx eax, word [ecx]
xor ebx, ebx
dec edx
cmp eax, esi
sete bl
je 0x430fa4
lea ecx, [ecx + edi*2]
test edx, edx
jg 0x430f90
mov edi, dword [ebp + 0x20]
test ebx, ebx
mov ebx, dword [ebp - 4]
je case.0x430f2f.146
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
jmp 0x43102d
movzx eax, word [ecx + 2]
lea eax, [eax*2 - 2]
cmp eax, dword [ebx + 0x50]
jae case.0x430f2f.146
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
je case.0x430f2f.146
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
jmp 0x43102d
movzx edx, word [ecx + 4]
movzx ecx, word [ecx + 2]
movzx esi, word [edi + 0x4e]
mov eax, dword [edi + 0x50]
imul ecx, esi
lea ecx, [eax + ecx*2]
test edx, edx
je case.0x430f2f.146
mov edi, dword [ebx + 0x50]
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
cmp eax, edi
jae 0x43101e
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne 0x433494
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x431004
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax], ebx
cmp byte [eax + 0x31], 0x8d
jne 0x42bb3b
mov edx, 0x2008d
mov byte [eax + 0x30], 0x23
mov dword [ebp + 8], edx
jmp 0x433c31
mov ebx, dword [ebp - 4]
mov eax, dword [ebx]
movzx edx, word [eax + 2]
test esi, esi
je 0x431090
test edx, edx
je 0x43108b
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [edi + 0x58]
jbe case.0x42bb63.160
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, word [ebp - 0x14]
cmp ax, word [ebp - 0x18]
jne 0x431087
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
test edx, edx
jne 0x431064
mov ecx, dword [ebx + 0x38]
jmp 0x4310aa
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x58]
sar eax, 1
cmp edx, eax
jg case.0x42bb63.160
lea eax, [edx + edx]
sub ecx, eax
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jae 0x4310b2
mov dword [edi + 0x64], ecx
add dword [ebx], 4
jmp 0x42bb3e
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
nop
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx], ecx
cmp word [ecx], 0x78
je 0x4310c0
jmp 0x42bb41
mov edi, dword [ebp - 4]
mov ecx, 0x84
mov ebx, dword [edi]
movzx eax, word [ebx + 2]
add eax, eax
sub ebx, eax
movzx eax, word [ebx]
cmp ax, cx
je 0x43115c
mov ecx, 0x88
cmp ax, cx
je 0x43115c
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 0x10]
add edx, dword [edi + 0x4c]
mov esi, edx
mov dword [ebp - 0x10], edx
sub esi, dword [ebp + 0x1c]
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x431157
mov eax, dword [edi + 0x50]
shl eax, 2
push eax
lea eax, [edi + 0x54]
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0043c360
mov eax, dword [edi + 0x50]
add esp, 0xc
mov dword [esi + 0x50], eax
mov eax, edi
sub eax, esi
mov dword [edi + 0x10], eax
mov edi, dword [ebp + 0x20]
mov esi, 1
jmp 0x42d51c
movzx eax, word [ebx]
jmp 0x431164
mov ecx, dword [ebp + 0x20]
xor esi, esi
mov edx, dword [ebp - 0x10]
movzx eax, ax
add eax, 0xffffff82
cmp eax, 0xe
ja case.0x43117a.132
movzx eax, byte [eax + 0x434448]
jmp dword [eax*4 + 0x434430]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x68]
jbe 0x43118c
mov dword [ecx + 0x68], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x38], eax
mov eax, edi
sub eax, esi
mov dword [edi + 0x10], eax
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
jne case.0x43117a.132
nop dword [eax]
mov dword [esi], ecx
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x4311b0
jmp case.0x43117a.132
push dword [ebp - 8]
push dword [edi + 0x38]
push dword [esi + 0x38]
call fcn.0043a160
add esp, 0xc
test eax, eax
jne case.0x43117a.132
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x42d51c
movzx eax, word [ebx + 4]
cmp dword [edi + 0x44], eax
jne 0x431233
mov ebx, dword [ebp + 0x1c]
mov esi, edx
sub esi, ebx
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [edi + 0x54]
push eax
call fcn.0043c360
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [edi + 0x44], eax
mov eax, dword [esi]
add eax, 4
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
jmp 0x42bb41
lea edx, [eax + eax]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x38]
lea ecx, [edx - 2]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp + 0x20]
sub eax, dword [edx + 0x58]
sar eax, 1
mov dword [edi + ecx*4 + 0x54], eax
mov eax, dword [edi + 0x38]
sub eax, dword [edx + 0x58]
mov edx, dword [ebp - 0x38]
sar eax, 1
mov dword [edi + ecx*4 + 0x58], eax
cmp ecx, dword [edi + 0x50]
jb case.0x43117a.132
mov dword [edi + 0x50], edx
mov edx, dword [edi]
cmp word [edx], 0x7c
jne 0x43128d
push dword [ebp - 0x3c]
lea eax, [edi + 0x38]
push eax
lea eax, [esi + 0x38]
push eax
call fcn.0043c360
mov edi, dword [ebp + 0x20]
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x42d51c
mov cl, byte [edi + 0x31]
cmp cl, 0x79
je 0x4312a9
test esi, esi
je 0x43374b
mov eax, dword [edi + 0x38]
cmp eax, dword [esi + 0x38]
jne 0x43374b
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 4]
add dword [ebx], 4
jmp 0x42bb3b
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x58]
jne case.0x42bb63.160
test byte [edi + 0x80], 1
jne case.0x42bb63.160
add dword [ecx], 2
jmp 0x42bb41
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x58]
je 0x4312d3
jmp case.0x42bb63.160
test byte [edi + 0x80], 2
jne case.0x42bb63.160
test byte [edi + 0x84], 0x10
je case.0x42bb63.23
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x5c]
jb case.0x42bb63.160
cmp word [edi + 0x48], 0
je 0x4312d3
cmp eax, dword [edi + 0x64]
jbe 0x4312d3
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
add dword [ecx], 2
jmp 0x42bb41
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov edx, dword [edi + 0x38]
mov esi, dword [ecx + 0x5c]
cmp edx, esi
jae 0x4313bb
mov eax, dword [ecx + 0x90]
lea ebx, [ecx + 0x94]
test eax, eax
je 0x431381
push dword [ebp - 8]
push ebx
push esi
push eax
push edx
call fcn.00438710
add esp, 0x14
test eax, eax
je 0x4313e7
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov edi, dword [ebx]
mov esi, dword [ecx + 0x5c]
mov edx, dword [eax + 0x38]
jmp 0x4313af
mov edi, dword [ebx]
mov ecx, esi
lea eax, [edi + edi]
sub ecx, eax
cmp edx, ecx
ja 0x4313e4
mov ecx, dword [ebp + 0x20]
mov ax, word [edx]
cmp ax, word [ecx + 0x98]
jne 0x4313e4
cmp edi, 1
je 0x4313af
mov ax, word [edx + 2]
cmp ax, word [ecx + 0x9a]
jne 0x4313e4
lea eax, [edi + edi]
mov edi, dword [ebp - 4]
sub esi, eax
cmp edx, esi
jne 0x4313e7
cmp word [ecx + 0x48], 0
je 0x4313d9
cmp edx, dword [ecx + 0x64]
jbe 0x4313d9
mov dword [ecx + 0x2c], 1
cmp word [ecx + 0x48], 1
ja 0x42cc4b
add dword [edi], 2
mov edi, dword [ebp + 0x20]
jmp 0x42bb3b
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42be3e
mov ecx, dword [edi + 0x38]
mov edi, dword [ebp + 0x20]
lea eax, [ecx + 2]
cmp eax, dword [edi + 0x5c]
jb case.0x42bb63.160
cmp dword [edi + 0x90], 0
jne case.0x42bb63.160
cmp dword [ebx], 2
jne case.0x42bb63.160
mov ax, word [ecx]
cmp ax, word [edi + 0x98]
jne case.0x42bb63.160
jmp 0x42d04a
test byte [edi + 0x80], 1
mov ebx, dword [ebp - 4]
je 0x43144a
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x58]
je case.0x42bb63.160
mov ecx, dword [ebx + 0x38]
mov edx, dword [edi + 0x58]
cmp ecx, edx
je 0x4315ca
cmp ecx, dword [edi + 0x5c]
jne 0x43146d
test dword [edi + 0x84], 0x200000
je case.0x42bb63.160
mov esi, dword [edi + 0x90]
test esi, esi
je 0x4314a4
cmp ecx, edx
jbe case.0x42bb63.160
push dword [ebp - 8]
lea eax, [edi + 0x94]
push eax
push edx
push esi
push ecx
call fcn.004387c0
add esp, 0x14
test eax, eax
je case.0x42bb63.160
add dword [ebx], 2
jmp 0x42bb3b
mov edi, dword [edi + 0x94]
lea esi, [edi + edi]
lea eax, [edx + esi]
cmp ecx, eax
jb 0x42d061
mov edx, dword [ebp + 0x20]
sub ecx, esi
mov ax, word [ecx]
cmp ax, word [edx + 0x98]
jne 0x4314ea
cmp edi, 1
mov edi, edx
je 0x4315ca
mov ax, word [ecx + 2]
cmp ax, word [edi + 0x9a]
je 0x4315ca
jmp case.0x42bb63.160
mov edi, edx
jmp case.0x42bb63.160
mov ebx, dword [ebp - 4]
mov ecx, dword [edi + 0x5c]
mov edx, dword [ebx + 0x38]
cmp edx, ecx
jae 0x431595
mov eax, dword [edi + 0x90]
add edi, 0x94
test eax, eax
je 0x43152e
push esi
push edi
push ecx
push eax
push edx
call fcn.00438710
add esp, 0x14
test eax, eax
je 0x43155e
mov edi, dword [ebp + 0x20]
add dword [ebx], 2
jmp 0x42bb3b
mov esi, dword [edi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x43155e
mov ecx, dword [ebp + 0x20]
mov ax, word [edx]
cmp ax, word [ecx + 0x98]
jne 0x43155e
cmp esi, 1
je 0x4315c8
mov ax, word [edx + 2]
cmp ax, word [ecx + 0x9a]
je 0x4315c8
mov eax, dword [ebp + 0x20]
cmp word [eax + 0x48], 0
je 0x42be3e
mov ecx, dword [ebx + 0x38]
mov ebx, dword [ebp + 0x20]
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x5c]
jb 0x42bc93
cmp dword [ebx + 0x90], 0
jne 0x42bc93
cmp dword [edi], 2
mov edi, ebx
jmp 0x431417
test byte [edi + 0x80], 2
jne case.0x42bb63.160
cmp word [edi + 0x48], 0
je 0x4315ca
cmp edx, dword [edi + 0x64]
jbe 0x4315ca
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
add dword [ebx], 2
jmp 0x42bb3b
mov edi, ecx
add dword [ebx], 2
jmp 0x42bb3b
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x58]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
je 0x4312d3
jmp case.0x42bb63.160
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
add dword [ecx], 2
jmp 0x42bb41
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
cmp esi, dword [edi + 0x58]
je 0x4316e0
cmp dword [ebp - 8], 0
lea edx, [esi - 2]
je 0x431683
movzx eax, word [edx]
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x431631
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43165c
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 4]
cmp edx, dword [edi + 0x64]
jae 0x43166a
mov dword [edi + 0x64], edx
mov esi, dword [eax + 0x38]
test dword [edi + 0x84], 0x20000
je 0x4316c8
cmp ecx, 0x5f
jne 0x431688
lea ebx, [ecx - 0x5e]
jmp 0x4316e2
movzx ecx, word [edx]
jmp 0x43165f
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x4316c1
cmp eax, 3
jne 0x4316e0
mov ebx, 1
jmp 0x4316e2
cmp ecx, 0xff
ja 0x4316e0
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je 0x4316e0
mov ebx, 1
jmp 0x4316e2
xor ebx, ebx
mov eax, dword [edi + 0x5c]
cmp esi, eax
jb 0x431730
cmp word [edi + 0x48], 0
je 0x431707
cmp esi, dword [edi + 0x64]
jbe 0x431707
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
xor edx, edx
mov esi, dword [ebp - 4]
xor edx, ebx
mov eax, dword [esi]
movzx ecx, word [eax]
add eax, 2
mov dword [esi], eax
cmp ecx, 5
jne 0x431720
xor edx, 1
mov ebx, dword [ebp + 0x1c]
test edx, edx
je 0x43122b
jmp case.0x42bb63.160
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
je 0x431782
cmp edx, eax
jae 0x431755
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x431755
add edx, 2
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431785
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x431785
movzx ecx, word [esi]
mov edi, dword [ebp + 0x20]
cmp edx, dword [edi + 0x68]
jbe 0x431790
mov dword [edi + 0x68], edx
test dword [edi + 0x84], 0x20000
je 0x4317f0
cmp ecx, 0x5f
jne 0x4317a9
lea edx, [ecx - 0x5e]
jmp 0x431709
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x4317e6
cmp eax, 3
jne 0x431707
mov edx, 1
jmp 0x431709
cmp ecx, 0xff
ja 0x431707
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je 0x431707
mov edx, 1
jmp 0x431709
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx + 4]
mov dword [ebx], ecx
movzx eax, word [ecx + 2]
lea edx, [ecx + eax*2]
mov dword [ebx + 4], edx
cmp word [edx], 0x78
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
je 0x43376e
mov dword [eax], ebx
jmp 0x42bb3b
cmp esi, 0xfffffc1f
jne 0x431873
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edi + 0x74], eax
jae case.0x42d556.35
cmp word [ecx], 0x78
je 0x43187b
cmp word [eax], 0x78
jmp 0x431875
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x433a22
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x42d522
cmp esi, 0xfffffc19
je 0x4333d9
test esi, esi
je 0x4318b6
cmp esi, 0xfffffc1f
jne case.0x42d556.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x433ae4
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x42d522
cmp esi, 0xfffffc1f
jg 0x431919
je 0x433415
cmp esi, 0xfffffc19
je 0x431930
cmp esi, 0xfffffc1a
jle case.0x42d556.35
cmp esi, 0xfffffc1d
jg case.0x42d556.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x431905
jmp 0x42bb36
mov eax, esi
sub eax, 0
je 0x433415
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x42d522
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x42d522
cmp esi, 0xfffffc1f
jg 0x431974
je 0x433457
cmp esi, 0xfffffc19
je 0x43342f
cmp esi, 0xfffffc1a
jle case.0x42d556.35
cmp esi, 0xfffffc1d
jle 0x43346e
mov eax, dword [ebp - 4]
jmp 0x42d522
mov eax, esi
sub eax, 0
je 0x433457
sub eax, 1
je 0x43344f
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
add eax, eax
sub ecx, eax
mov dword [ebx], ecx
jmp 0x42bb3b
test esi, esi
je 0x4312af
mov eax, dword [ebp - 4]
jmp 0x42d522
cmp esi, 0xfffffc1a
jne 0x4319e7
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x433777
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4319d6
jmp 0x431a2a
cmp esi, 0xfffffc1f
jne 0x431a0d
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edi + 0x74], eax
jae case.0x42d556.35
cmp word [ecx], 0x78
je 0x431a15
cmp word [eax], 0x78
jmp 0x431a0f
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4339db
cmp dword [ebx + 0x24], 0
jne 0x42bb36
cmp dword [ebx + 0x28], 0
jne 0x42bb36
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx + 4]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
je 0x431a53
jmp 0x42bb36
test esi, esi
je 0x4315ca
mov eax, dword [ebp - 4]
jmp 0x42d522
mov edx, dword [ebx + 4]
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
lea eax, [esi + 0x3e5]
cmp eax, 4
ja 0x431ac0
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x7c], eax
jne 0x431ac0
cmp esi, 0xfffffc1f
jne case.0x42bb63.160
cmp dword [edi + 0x74], ecx
jae case.0x42bb63.160
cmp word [edx], 0x78
je 0x431acb
cmp word [ecx], 0x78
je 0x431acb
jmp case.0x42bb63.160
mov edx, dword [ebp - 8]
test esi, esi
jne case.0x42d556.35
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
je 0x433ab2
jmp case.0x42bb63.160
cmp esi, 0xfffffc1e
jne case.0x42d556.35
mov eax, dword [ebx]
push dword [edi + 0x78]
add eax, 4
push eax
call fcn.004388f0
mov edx, dword [ebp - 8]
add esp, 8
test eax, eax
jne case.0x42d556.35
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1b
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1c
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x78], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx]
mov esi, 0xfffffc1e
add eax, 4
mov dword [edi + 0x78], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
lea eax, [ebp - 0x54]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.00434540
add esp, 0x14
test eax, eax
je 0x433781
jle 0x431be0
mov eax, dword [edi + 0x5c]
mov dword [ebx + 0x38], eax
cmp word [edi + 0x48], 0
je case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx + 0xc]
neg eax
add eax, eax
add dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x15
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx + 4]
cmp dword [ebx + 0x38], eax
je case.0x42bb63.160
mov dword [ebx + 0x38], eax
dec dword [ebx + 0x24]
mov esi, dword [ebx + 0x20]
cmp esi, dword [ebx + 0x24]
jae 0x431c78
mov edi, dword [ebx + 0x38]
nop dword [eax]
lea eax, [ebp - 0x58]
push eax
push dword [ebp + 0x20]
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.00434540
mov eax, dword [ebp - 0x58]
inc esi
add esp, 0x14
lea edi, [edi + eax*2]
mov dword [ebx + 0x38], edi
cmp esi, dword [ebx + 0x24]
jb 0x431c50
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x16
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x431cba
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
add eax, 2
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
jbe 0x431ce3
cmp byte [ebx + 0x31], 0x6e
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x433c31
mov edx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x431cd5
jmp case.0x42bb63.160
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
jmp 0x42d20d
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x5c]
jb 0x431d44
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp ecx, dword [edi + 0x64]
jmp 0x42d044
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x431d55
cmp dword [ebx + 0x2c], eax
jne case.0x42bb63.160
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x19
jmp 0x433c31
add dword [ebx + 0x38], 0xfffffffe
test esi, esi
jne case.0x42d556.35
mov esi, dword [ebp - 8]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x42bb3e
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1a
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x5c]
jb 0x431dc7
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp esi, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1b
jmp 0x433c31
add dword [ebx + 0x38], 0xfffffffe
test esi, esi
je 0x42c8a7
mov eax, dword [ebp - 4]
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x5c]
jb 0x431e2f
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp ecx, dword [edi + 0x64]
jmp 0x42d044
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je case.0x42bb63.160
cmp dword [ebx + 0x2c], eax
je case.0x42bb63.160
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1d
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 4]
je 0x42bb3e
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1e
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x5c]
jb 0x431eb6
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp esi, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1f
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
cmp eax, dword [ebx + 4]
je 0x42bb3e
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x20
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov edx, dword [ebx + 0x38]
mov ecx, dword [edi + 0x5c]
cmp edx, ecx
jb 0x431f35
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp edx, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebx + 0x28], 0xc
jne 0x431f9c
mov eax, dword [edi + 0x90]
lea esi, [edi + 0x94]
test eax, eax
je 0x431f6b
push dword [ebp - 8]
push esi
push ecx
push eax
push edx
call fcn.00438710
add esp, 0x14
test eax, eax
jne case.0x42bb63.160
mov edx, dword [ebx + 0x38]
jmp 0x431f9c
mov esi, dword [esi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x431f9c
mov ax, word [edx]
cmp ax, word [edi + 0x98]
jne 0x431f9c
cmp esi, 1
je case.0x42bb63.160
mov ax, word [edx + 2]
cmp ax, word [edi + 0x9a]
je case.0x42bb63.160
movzx ecx, word [edx]
add edx, 2
mov dword [ebx + 0x38], edx
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x431fb4.15
jmp dword [eax*4 + 0x434458]
cmp ecx, 0xd
ja 0x431fdf
je 0x433797
cmp ecx, 0xa
je case.0x431fb4.13
jbe case.0x42bb63.160
cmp ecx, 0xc
jbe 0x431fff
jmp case.0x42bb63.160
cmp ecx, 0x85
je 0x431fff
cmp ecx, 0x2027
jbe case.0x42bb63.160
cmp ecx, 0x2029
ja case.0x42bb63.160
cmp word [edi + 0x4a], 2
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x180e
ja 0x432053
je case.0x42bb63.160
cmp ecx, 0xa0
ja 0x432042
je case.0x42bb63.160
cmp ecx, 9
je case.0x42bb63.160
cmp ecx, 0x20
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x1680
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x205f
ja 0x43208a
je case.0x42bb63.160
cmp ecx, 0x2000
jb case.0x431fb4.13
cmp ecx, 0x200a
jbe case.0x42bb63.160
cmp ecx, 0x202f
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x3000
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x180e
ja 0x4320df
je case.0x431fb4.13
cmp ecx, 0xa0
ja 0x4320ce
je case.0x431fb4.13
cmp ecx, 9
je case.0x431fb4.13
cmp ecx, 0x20
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x1680
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x205f
ja 0x432116
je case.0x431fb4.13
cmp ecx, 0x2000
jb case.0x42bb63.160
cmp ecx, 0x200a
jbe case.0x431fb4.13
cmp ecx, 0x202f
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x3000
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x85
ja 0x432146
je case.0x42bb63.160
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x431fb4.13
jmp case.0x42bb63.160
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x85
ja 0x43217f
je case.0x431fb4.13
cmp ecx, 0xa
jb case.0x42bb63.160
cmp ecx, 0xd
jbe case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0x2028
jb case.0x42bb63.160
cmp ecx, 0x2029
jbe case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0xff
ja case.0x431fb4.13
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 8
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0xff
ja case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 8
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0xff
ja case.0x431fb4.13
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0xff
ja case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
jne case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0xff
ja case.0x431fb4.13
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je case.0x431fb4.13
jmp case.0x42bb63.160
cmp ecx, 0xff
ja case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x431fb4.13
jmp case.0x42bb63.160
test esi, esi
jne case.0x42d556.35
mov eax, dword [ebx + 0x38]
add eax, 0xfffffffe
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp dword [ebx + 0x28], 0x11
jne 0x432283
cmp eax, dword [ebx + 4]
jbe 0x432283
cmp word [eax], 0xa
jne 0x432283
cmp word [eax - 2], 0xd
lea edx, [eax - 2]
jne 0x432283
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
je 0x42bb3b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x22
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x4322ce
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
mov esi, dword [ebp - 8]
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x43230b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43230b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
push esi
push dword [ebx + 8]
push ecx
call fcn.0043a6a0
add esp, 0xc
test eax, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x64
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x42bb63.160
cmp dword [ebp - 8], esi
je 0x42d47c
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42d47c
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x4323b2
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4323e8
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
jbe 0x432408
cmp byte [ebx + 0x31], 0x6e
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc8
jmp 0x433c31
mov edx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x4323fa
jmp case.0x42bb63.160
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x42bb63.160
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42d1c5
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebp + 0x20]
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x38]
mov ecx, dword [eax + 0x5c]
mov eax, ecx
lea esi, [edi + edi]
mov dword [ebp - 0x1c], ecx
sub eax, esi
cmp ebx, eax
ja 0x43250a
mov eax, dword [ebp - 4]
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4324c1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4324ca
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4324b0
cmp esi, 0xfffffffc
je 0x433803
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x432507
cmp esi, 0xfffffffd
je 0x433803
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x432507
cmp esi, 0xfffffffe
je 0x433803
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x432507
cmp esi, 0xffffffff
je 0x433803
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x433803
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov edi, dword [edx + 0x14]
test edi, edi
je 0x432588
lea esi, [edi + edi]
mov eax, ecx
sub eax, esi
cmp ebx, eax
ja 0x432588
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x432542
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43254b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x432531
cmp esi, 0xfffffffc
je 0x433803
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x432588
cmp esi, 0xfffffffd
je 0x433803
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x432588
cmp esi, 0xfffffffe
je 0x433803
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x432588
cmp esi, 0xffffffff
je 0x433803
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x433803
mov edi, dword [ebp + 0x20]
cmp word [edi + 0x48], 0
je case.0x42bb63.160
cmp ebx, dword [edi + 0x5c]
jb case.0x42bb63.160
cmp ebx, dword [edi + 0x64]
jmp 0x42d044
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 4]
jne 0x4325d4
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x42bb3b
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xcb
jmp 0x433c34
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x43261c
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432652
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x42bb63.160
cmp dword [ebx + 0x2c], ecx
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcc
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 4]
jne 0x43269f
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x42bb3b
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xcd
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x4326e7
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43271d
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xce
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 4]
jne 0x432761
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x42bb3b
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xcf
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x4327a9
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 8]
mov dword [ebx + 0x38], eax
test edx, edx
je 0x4327cd
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x4327cd
add eax, 2
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
jne case.0x4336bb.0
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x42d522
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432815
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x432851
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432851
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x452509]
cmp al, 9
je 0x432888
cmp al, 5
je 0x432888
cmp al, 8
je 0x432888
xor ecx, ecx
jmp 0x43288d
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd1
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x4328e0
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x43291c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43291c
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd2
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x4329a6
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x4329e2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4329e2
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd3
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432a65
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x432aa1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432aa1
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452508]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd4
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432b24
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x432b60
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432b60
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x432b9d
cmp eax, 3
je 0x432b9d
xor ecx, ecx
jmp 0x432ba2
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd5
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432bf5
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x432c31
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432c31
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x180e
ja 0x432c78
je case.0x432c98.8192
cmp ecx, 0x85
ja 0x432c64
je case.0x432c98.8192
cmp ecx, 9
jb case.0x432c98.8203
cmp ecx, 0xd
jbe case.0x432c98.8192
cmp ecx, 0x20
jmp 0x432cb1
cmp ecx, 0xa0
je case.0x432c98.8192
cmp ecx, 0x1680
jmp 0x432cb1
cmp ecx, 0x202f
ja 0x432c9f
je case.0x432c98.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x432c98.8203
movzx eax, byte [eax + 0x4344a0]
jmp dword [eax*4 + 0x434498]
cmp ecx, 0x205f
je case.0x432c98.8192
cmp ecx, 0x3000
je case.0x432c98.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
cmp dword [eax*4 + 0x4511b0], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd6
jmp 0x433c31
cmp dword [ebx + 0x28], 0xf
jne case.0x4336bb.6
jmp case.0x42bb63.160
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432d4a
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea ecx, [eax + 2]
movzx edx, word [eax]
mov dword [ebx + 0x38], ecx
je 0x432d86
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432d86
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
add edx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x455088]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x452509]
mov eax, dword [eax*4 + 0x4511b0]
cmp eax, 1
je 0x432dca
cmp eax, 3
je 0x432dca
cmp edx, 0x5f
je 0x432dca
xor ecx, ecx
jmp 0x432dcf
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd7
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432e22
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x432e5e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432e5e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax*4 + 0x452150]
lea eax, [eax*4 + 0x452150]
cmp ecx, edx
jb 0x432e80
lea eax, [eax + 4]
cmp ecx, edx
je 0x432e98
mov edx, dword [eax]
cmp ecx, edx
jae 0x432e73
cmp dword [ebx + 0x28], 0xf
jne case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd8
jmp 0x433c31
cmp dword [ebx + 0x28], 0xf
jne case.0x4336bb.9
jmp case.0x42bb63.160
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x432ed7
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov dword [ebx + 0x38], edx
je 0x432f13
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432f13
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x24
je 0x432f3e
cmp ecx, 0x40
je 0x432f3e
cmp ecx, 0x60
je 0x432f3e
cmp ecx, 0xa0
jb 0x432f32
cmp ecx, 0xd7ff
jbe 0x432f3e
cmp ecx, 0xe000
jae 0x432f3e
xor ecx, ecx
jmp 0x432f43
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x42bb63.160
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd9
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jb 0x43382b
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp eax, dword [edi + 0x64]
jmp 0x42d044
test esi, esi
jne case.0x42d556.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x42bb63.160
mov edx, dword [ebx + 0x38]
mov ecx, dword [edi + 0x5c]
cmp edx, ecx
jb 0x432fd0
cmp word [edi + 0x48], si
je case.0x42bb63.160
cmp edx, dword [edi + 0x64]
jmp 0x42d044
cmp dword [ebx + 0x28], 0xc
jne 0x433037
mov eax, dword [edi + 0x90]
lea esi, [edi + 0x94]
test eax, eax
je 0x433006
push dword [ebp - 8]
push esi
push ecx
push eax
push edx
call fcn.00438710
add esp, 0x14
test eax, eax
jne case.0x42bb63.160
mov edx, dword [ebx + 0x38]
jmp 0x433037
mov esi, dword [esi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x433037
mov ax, word [edx]
cmp ax, word [edi + 0x98]
jne 0x433037
cmp esi, 1
je case.0x42bb63.160
mov ax, word [edx + 2]
cmp ax, word [edi + 0x9a]
je case.0x42bb63.160
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43306d
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebx + 0x38], edx
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x431fb4.15
jmp dword [eax*4 + 0x4344cc]
cmp ecx, 0xd
ja 0x4330a7
je 0x4338b2
cmp ecx, 0xa
je case.0x43307c.13
jbe case.0x42bb63.160
cmp ecx, 0xc
jbe 0x4330c7
jmp case.0x42bb63.160
cmp ecx, 0x85
je 0x4330c7
cmp ecx, 0x2027
jbe case.0x42bb63.160
cmp ecx, 0x2029
ja case.0x42bb63.160
cmp word [edi + 0x4a], 2
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x180e
ja 0x43311b
je case.0x42bb63.160
cmp ecx, 0xa0
ja 0x43310a
je case.0x42bb63.160
cmp ecx, 9
je case.0x42bb63.160
cmp ecx, 0x20
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x1680
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x205f
ja 0x433152
je case.0x42bb63.160
cmp ecx, 0x2000
jb case.0x43307c.13
cmp ecx, 0x200a
jbe case.0x42bb63.160
cmp ecx, 0x202f
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x3000
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x180e
ja 0x4331a7
je case.0x43307c.13
cmp ecx, 0xa0
ja 0x433196
je case.0x43307c.13
cmp ecx, 9
je case.0x43307c.13
cmp ecx, 0x20
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x1680
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x205f
ja 0x4331de
je case.0x43307c.13
cmp ecx, 0x2000
jb case.0x42bb63.160
cmp ecx, 0x200a
jbe case.0x43307c.13
cmp ecx, 0x202f
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x3000
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x85
ja 0x43320e
je case.0x42bb63.160
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x43307c.13
jmp case.0x42bb63.160
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x85
ja 0x433247
je case.0x43307c.13
cmp ecx, 0xa
jb case.0x42bb63.160
cmp ecx, 0xd
jbe case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x2028
jb case.0x42bb63.160
cmp ecx, 0x2029
jbe case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x100
jae case.0x43307c.13
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 8
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x100
jae case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 8
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x100
jae case.0x43307c.13
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x100
jae case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
jne case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x100
jae case.0x43307c.13
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je case.0x43307c.13
jmp case.0x42bb63.160
cmp ecx, 0x100
jae case.0x42bb63.160
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x43307c.13
jmp case.0x42bb63.160
test esi, esi
jne case.0x42d556.35
mov esi, dword [ebx + 0x38]
add esi, 0xfffffffe
mov dword [ebx + 0x38], esi
test edx, edx
jne 0x4334b0
movzx ecx, word [esi]
jmp 0x4334f9
test esi, esi
jne case.0x42d556.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x433363
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp dword [ebx + 0x28], 0x11
mov eax, ecx
jne 0x433385
cmp ecx, dword [ebx + 4]
jbe 0x433385
cmp word [ecx], 0xa
jne 0x433385
cmp word [ecx - 2], 0xd
lea edx, [ecx - 2]
jne 0x433385
mov dword [ebx + 0x38], edx
mov eax, edx
cmp eax, dword [ebx + 4]
jbe 0x42bb3b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdd
jmp 0x433c31
test esi, esi
jne case.0x42d556.35
mov ecx, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov edx, ecx
test esi, esi
je 0x433618
mov ax, word [edx]
and ax, word [ebp - 0x14]
cmp ax, word [ebp - 0x18]
mov eax, dword [ebp - 4]
jne 0x43361b
lea ecx, [edx - 2]
mov dword [ebx + 0x38], ecx
jmp 0x43361b
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.0043c360
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x433401
jmp 0x42bb36
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x433b13
jmp 0x42bb36
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.0043c360
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov ebx, dword [ebx + 0x20]
mov edx, dword [ebp - 4]
jmp 0x433479
mov ecx, dword [ebx + 4]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov dword [ebx + 4], eax
cmp word [eax], 0x78
je 0x433721
mov edx, dword [ebp - 4]
xor ebx, ebx
cmp dword [edx + 0x20], ebx
sete bl
test ebx, ebx
je 0x4334a8
mov ecx, dword [edx]
nop
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx], ecx
cmp word [ecx], 0x78
je 0x433480
jmp 0x430fa7
mov edi, dword [ebp + 0x20]
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
jmp 0x43102d
mov ebx, dword [ebp - 4]
jmp case.0x430f2f.146
movzx eax, word [esi]
mov edx, esi
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4334cc
lea edx, [esi - 2]
mov dword [ebx + 0x38], edx
movzx ecx, word [edx]
movzx ecx, cx
mov esi, edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4334f9
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov edx, dword [ebx + 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x45250a]
mov dword [ebp - 0x24], eax
cmp esi, edx
jbe 0x433601
mov edi, edx
mov dword [ebp - 0x1c], edx
mov ebx, edx
mov dword [ebp - 0x38], edx
mov eax, edx
nop dword [eax + eax]
add esi, 0xfffffffe
mov edx, eax
cmp dword [ebp - 8], 0
movzx eax, word [esi]
mov ecx, eax
je 0x4335a0
and eax, 0xfc00
mov edx, edi
cmp eax, 0xdc00
jne 0x433570
movzx ecx, word [esi - 2]
sub esi, 2
mov edx, ebx
mov ebx, dword [ebp - 0x38]
jmp 0x433573
mov ebx, dword [ebp - 0x1c]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4335a0
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, ebx
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x455088]
shl eax, 7
add eax, ecx
mov ecx, dword [ebp - 0x24]
movzx eax, word [eax*2 + 0x459488]
lea eax, [eax + eax*2]
movzx edi, byte [eax*4 + 0x45250a]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x451170], eax
je 0x4335fb
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], edi
mov dword [eax + 0x38], esi
mov edx, dword [eax + 4]
mov edi, edx
mov dword [ebp - 0x1c], edx
mov ebx, edx
mov dword [ebp - 0x38], edx
mov eax, edx
cmp esi, edx
ja 0x433540
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
cmp dword [ebx + 0x38], edx
jbe 0x42bb3b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdc
jmp 0x433c31
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x42bb3e
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xde
jmp 0x433c31
inc dword [edi + 0x88]
mov eax, dword [edi + 0x88]
cmp eax, dword [edi + 0x8c]
ja 0x43391e
mov ebx, dword [ebp - 4]
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x451010]
movzx eax, word [edx + 2]
add ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebx], eax
jmp 0x42bb3e
test esi, esi
jne 0x432664
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1d
jmp 0x433c31
test esi, esi
jne 0x432726
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1f
jmp 0x433c31
mov edi, dword [ebp + 0x20]
test esi, esi
jne 0x4323fa
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x433c31
mov eax, dword [ebp - 0x1c]
test eax, eax
js 0x4336c2
cmp eax, 0xa
ja case.0x431fb4.15
jmp dword [eax*4 + 0x43450c]
cmp dword [ebx + 0x28], 0x16
je 0x4338a4
cmp dword [ebp - 8], 0
jne case.0x43307c.13
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x433c31
mov eax, dword [ebp - 4]
mov dword [ebx + 0x24], edi
mov ebx, dword [ebx]
mov edi, dword [ebp + 0x20]
mov byte [eax + 0x30], 0x16
jmp 0x433c31
xor eax, eax
jmp 0x433a1d
mov eax, esi
cmp eax, 0x7e
je 0x433714
mov ecx, 0x80
cmp ax, cx
je 0x433714
xor eax, eax
jmp 0x433719
mov eax, 1
mov dword [ebx + 0x20], eax
mov eax, dword [ebx]
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
movzx edx, word [eax]
movzx eax, word [ecx]
or edx, 0x30000
mov dword [ebp + 8], edx
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 5
jmp 0x433c31
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x433762
mov byte [edi + 0x30], 6
lea ebx, [edx + 4]
mov edi, dword [ebp + 0x20]
jmp 0x433c34
mov byte [edi + 0x30], 7
mov edi, dword [ebp + 0x20]
jmp 0x433c34
mov byte [eax + 0x30], 1
jmp 0x433c31
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x4339db
mov eax, dword [ebp - 0x54]
add eax, eax
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x14
jmp 0x433c31
cmp edx, dword [edi + 0x5c]
jae case.0x431fb4.13
cmp word [edx], 0xa
jne case.0x431fb4.13
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x433c31
cmp word [edi + 0x48], 0
je case.0x431fb4.13
cmp edx, dword [edi + 0x5c]
jb case.0x431fb4.13
cmp dword [edi + 0x90], 0
jne case.0x431fb4.13
cmp dword [edi + 0x94], 2
jne case.0x431fb4.13
movzx eax, word [edi + 0x98]
cmp ecx, eax
jne case.0x431fb4.13
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x433c31
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi*2]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x433c31
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd0
jmp 0x433c31
cmp dword [ebp - 8], 0
lea edx, [eax + 2]
movzx ecx, word [eax]
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x433869
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433869
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
mov dword [ebx + 0x38], esi
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
push 0
push dword [ebp - 8]
push dword [edi + 0x5c]
push dword [edi + 0x58]
push esi
push ecx
call fcn.00439f80
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp word [edi + 0x48], 0
je 0x4338a4
cmp eax, dword [edi + 0x5c]
jb 0x4338a4
cmp eax, dword [edi + 0x64]
jbe 0x4338a4
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xda
jmp 0x433c31
cmp edx, dword [edi + 0x5c]
jae case.0x43307c.13
cmp word [edx], 0xa
jne case.0x43307c.13
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdb
jmp 0x433c31
cmp word [edi + 0x48], 0
je case.0x43307c.13
cmp edx, dword [edi + 0x5c]
jb case.0x43307c.13
cmp dword [edi + 0x90], 0
jne case.0x43307c.13
cmp dword [edi + 0x94], 2
jne case.0x43307c.13
movzx eax, word [edi + 0x98]
cmp ecx, eax
jne case.0x43307c.13
mov dword [edi + 0x2c], 1
cmp word [edi + 0x48], 1
ja 0x42cc4b
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdb
jmp 0x433c31
mov esi, dword [ebp - 4]
mov edx, dword [esi]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x451010]
movzx eax, word [edx + 2]
mov byte [esi + 0x30], 0x11
jmp 0x433c2c
mov ecx, dword [ebp - 4]
mov ebx, dword [ecx]
add ebx, 2
mov dword [ecx + 4], ebx
mov byte [ecx + 0x30], 9
jmp 0x433c31
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
add ecx, 2
mov dword [edx + 4], ecx
nop dword [eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx + 4], ecx
cmp word [ecx], 0x78
je 0x433960
lea ebx, [ecx + 4]
mov byte [edx + 0x30], 0xa
jmp 0x433c31
mov ebx, dword [ebp - 4]
mov edx, 0x87
mov dword [ebx + 0x28], 1
mov eax, dword [ebx]
add eax, 2
mov dword [ebx], eax
movzx ecx, word [eax]
cmp cx, dx
je 0x4339c3
mov edx, 0x8c
cmp cx, dx
jne 0x4339b0
jmp 0x4339c3
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov eax, 0x20000
jmp 0x4339cc
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov eax, dword [ebx]
movzx eax, word [eax + 4]
or eax, 0x10000
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], 0
mov eax, dword [ebx]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x20]
mov dword [ebp + 8], edx
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 8
jmp 0x433c31
mov ebx, dword [ebp - 4]
mov eax, dword [ebx]
movzx eax, word [eax + 4]
or eax, 0x10000
jmp 0x433a1d
mov ebx, dword [ebp - 4]
movzx eax, dl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx]
movzx eax, word [ecx]
mov edx, dword [ebx + 0x20]
mov dword [ebp + 8], edx
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 2
jmp 0x433c31
mov edx, dword [ebp - 4]
mov ecx, dword [edi + 0x54]
mov eax, dword [edx]
movzx eax, word [eax + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x433a58
xor edi, edi
jmp 0x433a5c
movzx edi, word [ebx + 4]
cmp dword [edx + 0x44], 0xffffffff
je 0x433aa0
mov eax, dword [edx + 0x4c]
cmp eax, 0xffffffff
je 0x433aa0
mov ecx, dword [ebp + 0x20]
mov edx, edi
or edx, 0x40000
mov esi, dword [ecx + 0x10]
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x1c]
cmp dword [eax + 0x1c], edx
je 0x433a91
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x433a78
mov edx, dword [ebp - 4]
jmp 0x433aa0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x433d9b
mov dword [edx + 4], ebx
or edi, 0x40000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], edi
mov edi, dword [ebp + 0x20]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x20]
mov dword [ebp + 8], edx
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xb
jmp 0x433c31
mov ebx, dword [ebp - 4]
movzx eax, dl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx]
movzx eax, word [ecx]
mov edx, dword [ebx + 0x20]
mov dword [ebp + 8], edx
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 3
jmp 0x433c31
mov ebx, dword [ebp - 4]
movzx eax, dl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx]
movzx eax, word [ecx]
mov edx, dword [ebx + 0x20]
mov dword [ebp + 8], edx
movzx eax, byte [eax + 0x451010]
lea ebx, [ecx + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 4
jmp 0x433c31
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x70], eax
mov dword [esi + 0x40], eax
mov edx, dword [esi]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x451010]
movzx eax, word [edx + 2]
mov byte [esi + 0x30], 0xc
jmp 0x433c2c
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
mov byte [edx + 0x30], 0xd
lea ebx, [ecx + eax*2]
jmp 0x433c31
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x70], eax
mov dword [esi + 0x40], eax
mov edx, dword [esi]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x451010]
movzx eax, word [edx + 2]
mov byte [esi + 0x30], 0x24
jmp 0x433c2c
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
mov byte [edx + 0x30], 0xe
lea ebx, [ecx + eax*2]
jmp 0x433c31
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x70], eax
mov dword [esi + 0x40], eax
mov edx, dword [esi]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x451010]
movzx eax, word [edx + 2]
mov byte [esi + 0x30], 0xf
jmp 0x433c2c
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
mov byte [edx + 0x30], 0x10
lea ebx, [ecx + eax*2]
jmp 0x433c31
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x451010]
mov byte [edx + 0x30], 0x12
lea ebx, [ecx + eax*2]
jmp 0x433c31
mov esi, dword [ebp - 4]
mov eax, dword [esi]
add eax, 4
mov dword [edi + 0x70], eax
mov dword [esi + 0x40], eax
mov edx, dword [esi]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x451010]
movzx eax, word [edx + 2]
mov byte [esi + 0x30], 0x13
add ecx, eax
lea ebx, [edx + ecx*2]
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0x1c]
add esi, eax
mov dword [ebp - 0x10], esi
cmp esi, dword [edi + 0x14]
jb 0x433cda
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x1c]
lea esi, [ecx + ecx]
mov eax, esi
shr eax, 0xa
cmp eax, edx
jbe 0x433c6d
mov esi, edx
xor edx, edx
shl esi, 0xa
mov eax, esi
div dword [ebp + 0x1c]
sub esi, edx
cmp ecx, esi
jae 0x433da7
push dword [edi + 8]
mov eax, dword [edi]
push esi
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x433db3
mov eax, dword [ebp + 0x20]
push dword [eax + 0xc]
push dword [eax + 0x10]
push edi
call fcn.0043c360
mov eax, dword [ebp + 0x20]
add esp, 0xc
mov edx, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov eax, edi
sub eax, ecx
add edx, eax
mov eax, dword [ebp + 0x1c]
add eax, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x18]
je 0x433cc5
push dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
call eax
mov eax, dword [ebp + 0x20]
add esp, 8
mov dword [eax + 0x10], edi
lea eax, [edi + esi]
mov edi, dword [ebp + 0x20]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 4]
mov dword [edi + 0xc], esi
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x3c]
add eax, 0x38
push eax
lea eax, [esi + 0x38]
push eax
call fcn.0043c360
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 4], esi
mov eax, dword [eax + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov eax, esi
mov esi, dword [ebp - 8]
jmp 0x42bad7
mov eax, edi
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov dword [eax + 0x60], esi
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x44], eax
mov eax, dword [ebx + 0x40]
mov dword [ecx + 0x6c], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x68]
jbe 0x433d29
mov dword [ecx + 0x68], eax
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x58]
mov edi, dword [ebp + 0x10]
movzx esi, word [ebp + 0x14]
sar eax, 1
mov dword [edi], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x58]
sar eax, 1
mov dword [edi + 4], eax
movzx eax, word [ebp + 0x18]
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 8]
push eax
call fcn.0043c360
mov eax, dword [ebx + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x433d86
mov dword [edi + esi*4], 0xffffffff
dec esi
mov ecx, dword [ebx + 0x50]
add ecx, 2
cmp esi, ecx
jae 0x433d74
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret