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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x47d00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
push ebx
push esi
push edi
mov edi, dword [eax + 0x78]
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
shr edi, 0x13
and edi, 1
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x20], edi
cmp eax, dword [esi + 0x10]
jae 0x437b0a
mov dword [ebp - 0x6c], 0xfc00
mov dword [ebp - 0x60], 0xdc00
mov dword [ebp - 0x58], 0xd800
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp + 0x20]
cmp esi, dword [eax + 0x14]
jae 0x437af4
test byte [eax + 0x88], 2
je 0x42e816
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x88], ecx
and dword [eax + 0x88], 0xfffffffd
mov ebx, dword [ebp - 0x18]
jmp 0x42e830
mov ebx, dword [ebp - 0x18]
mov esi, eax
jmp 0x42e833
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
movzx ecx, word [edx]
mov edx, ecx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x30], edx
cmp edx, 0xa3
ja case.default.0x4307ca
movzx eax, byte [edx + 0x437c74]
jmp dword [eax*4 + 0x437b24]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
inc dword [eax + 0x80]
mov eax, dword [eax + 0x80]
cmp eax, dword [esi + 0x84]
ja 0x4354c9
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x455178]
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*2]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1c]
inc edi
mov ebx, dword [ebp - 0x18]
mov esi, dword [eax + 0x68]
mov dword [ebp - 0x44], edx
nop
push edi
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x28]
lea eax, [edx + 4]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
cmp eax, 1
je 0x42e97f
cmp eax, 0xfffffc20
jne 0x42e905
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx + 2]
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x58], ecx
jae 0x437b12
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42e910
cmp word [ecx], 0x78
jne 0x437b12
jmp 0x42e910
test eax, eax
jne 0x437b12
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov dword [eax + 0x68], esi
cmp word [edx], 0x78
je 0x42e8b0
mov edi, dword [ebp - 0x2c]
movzx eax, word [edx]
mov ecx, 0x83
cmp ax, cx
je 0x42e940
cmp eax, 0x78
jne case.0x42e85c.159
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42e940
cmp word [edx], 0x79
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], eax
je 0x42e96e
cmp eax, ebx
jne 0x434dd2
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov edi, dword [eax + 0x58]
mov dword [ebp - 0x2c], edi
jmp 0x42e929
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], 0
jmp 0x42f453
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], 0
jmp 0x42f463
mov edx, dword [ebp - 0x1c]
movzx edi, word [edx + 2]
add edx, 4
mov dword [ebp - 0x1c], edx
movzx eax, word [edx]
cmp eax, 0x76
je 0x42e9cf
cmp eax, 0x77
jne 0x42eaf9
movzx esi, word [edx + 6]
jmp 0x42e9d6
movzx esi, byte [0x4551ee]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xac], 0
je 0x42eaf1
mov eax, dword [ebp - 0x28]
shr eax, 1
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x100], 1
mov ecx, dword [ebp - 0x14]
movzx eax, word [eax + 0x7c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x54]
sub eax, dword [ecx + 0x50]
sar eax, 1
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ecx + 0x50]
sar eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ecx + 0x50]
sar eax, 1
mov dword [ebp - 0xdc], eax
movzx eax, word [edx + 2]
mov dword [ebp - 0xd8], eax
movzx eax, word [edx + 4]
mov dword [ebp - 0xd4], eax
cmp word [edx], 0x76
jne 0x42eaa0
movzx eax, word [edx + 6]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 0
jmp 0x42eac6
mov dword [ebp - 0xfc], 0
movzx eax, word [edx + 8]
mov dword [ebp - 0xd0], eax
lea eax, [edx + 0xc]
mov dword [ebp - 0xc8], eax
lea eax, [esi - 7]
mov dword [ebp - 0xcc], eax
mov eax, ecx
lea ecx, [ebp - 0x100]
push dword [eax + 0xa8]
mov eax, dword [eax + 0xac]
push ecx
call eax
add esp, 8
test eax, eax
jg case.0x42e85c.159
js 0x437b12
mov edx, dword [ebp - 0x1c]
lea edx, [edx + esi*2]
sub edi, esi
mov dword [ebp - 0x1c], edx
movzx eax, word [edx]
xor ebx, ebx
mov dword [ebp - 0x38], eax
add eax, 0xffffff72
cmp eax, 0x11
ja case.0x42eb16.148
movzx eax, byte [eax + 0x437d34]
jmp dword [eax*4 + 0x437d18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je case.0x42eb16.146
movzx eax, word [edx + 2]
cmp eax, 0xffff
je case.0x42eb16.147
cmp eax, dword [ecx + 4]
je case.0x42eb16.147
xor ebx, ebx
jmp case.0x42eb16.146
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xa0], ebx
je case.0x42eb16.146
mov ecx, dword [ebp - 0x1c]
movzx eax, word [eax + 0x46]
movzx edx, word [edx + 4]
movzx ecx, word [ecx + 2]
imul ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x48]
lea ecx, [eax + ecx*2]
test edx, edx
jle 0x42ecea
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xa0]
mov esi, dword [eax + 4]
nop dword [eax + eax]
movzx eax, word [ecx]
xor ebx, ebx
dec edx
cmp eax, esi
sete bl
test ebx, ebx
jne 0x42ec3f
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 0x46]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x42eb90
jmp 0x42ecea
movzx ecx, word [edx + 2]
add ecx, ecx
cmp ecx, dword [ebp - 0x28]
jae 0x42eb46
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
cmp dword [eax + ecx*4], 0xffffffff
je 0x42eb46
mov esi, dword [ebp - 0x38]
mov ebx, 1
movzx edi, byte [esi + 0x455178]
jmp case.0x42eb16.146
mov eax, dword [ebp - 0x14]
movzx ecx, word [edx + 2]
movzx esi, word [edx + 4]
movzx eax, word [eax + 0x46]
imul ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x48]
lea edx, [eax + ecx*2]
test esi, esi
jle 0x42ecea
xor ebx, ebx
nop word [eax + eax]
movzx ecx, word [edx]
dec esi
add ecx, ecx
cmp ecx, dword [ebp - 0x28]
jae 0x42ec27
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x42ec3a
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 0x46]
lea edx, [edx + eax*2]
test esi, esi
jg 0x42ec10
jmp 0x42ecea
mov ebx, 1
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
movzx edi, byte [esi + 0x455178]
jmp case.0x42eb16.146
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
or dword [eax + 0x88], 1
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push dword [ebp - 0x14]
push esi
push dword [ebp - 0x2c]
push edx
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
cmp eax, 1
jne 0x42ecdb
mov eax, dword [ebp - 0x14]
mov ebx, 1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c]
cmp eax, esi
cmova esi, eax
mov eax, 0x94
mov dword [ebp - 0x28], esi
cmp word [ecx], ax
jne 0x42eca0
add ecx, 2
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea edx, [ecx + eax*2]
jne 0x42ecbe
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42ecb0
mov esi, dword [ebp - 0x38]
mov ecx, 2
movzx eax, byte [esi + 0x455178]
movzx edi, byte [esi + 0x455178]
sub ecx, eax
lea edx, [edx + ecx*2]
jmp case.0x42eb16.146
test eax, eax
je 0x42ecea
cmp eax, 0xfffffc20
jne 0x437b12
mov edx, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
mov dword [ebp - 0x1c], edx
test ebx, ebx
jne 0x434e2c
cmp word [edx - 4], 0x78
je 0x434e2c
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
jmp 0x42e830
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
movzx edx, word [eax + 2]
mov eax, dword [ebp - 0x14]
lea esi, [edx + edx]
mov eax, dword [eax + 0x7c]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x7c], eax
cmp esi, dword [ecx + 0x34]
jb 0x42ed51
mov edx, dword [ebp - 0x1c]
mov esi, ecx
mov ebx, dword [ebp - 0x18]
or eax, 0x10000
mov edi, dword [ebp - 0x20]
add edx, 4
mov dword [ebp - 0x1c], edx
mov dword [esi + 0x7c], eax
jmp 0x42e833
mov eax, ecx
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax + 0x50]
mov eax, dword [eax + 0x2c]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
mov ecx, dword [ebp - 0x28]
cmp esi, ecx
jb 0x42ed9c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
lea edi, [eax + ecx*4]
lea ecx, [eax + esi*4]
cmp edi, ecx
jae 0x42ed96
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
lea eax, [esi + 2]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
add edx, 4
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x68]
mov eax, dword [eax + 0x88]
test al, 1
je 0x42edd6
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffe
mov ebx, 1
mov dword [ecx + 0x88], eax
jmp 0x42edd8
xor ebx, ebx
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1c]
inc esi
nop
push esi
push 0
push dword [ebp - 0x14]
lea eax, [edx + 4]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x42ee61
cmp ecx, 0xfffffc19
je 0x42ee61
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x68], edi
cmp ecx, 0xfffffc20
jne 0x42ee43
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x58], eax
jae 0x4378b1
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42ee4e
cmp word [eax], 0x78
jne 0x4378b1
jmp 0x42ee4e
test ecx, ecx
jne 0x4378b1
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
mov dword [ebp - 0x1c], edx
je 0x42ede0
jmp 0x42ee6d
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x2c], eax
cmp word [edx], 0x79
je case.0x42e85c.159
test ebx, ebx
jne 0x435724
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42ee80
mov eax, dword [ebp - 0x14]
add edx, 4
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x28], eax
jmp 0x42e830
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x68]
mov eax, dword [eax + 0x88]
test al, 1
je 0x42eecb
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffe
mov ebx, 1
mov dword [ecx + 0x88], eax
jmp 0x42eecd
xor ebx, ebx
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp - 0x1c]
inc esi
push esi
push 0
push dword [ebp - 0x14]
lea eax, [edx + 4]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x68], edi
cmp ecx, 0xfffffc20
jg 0x42ef21
jne 0x42ef42
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
cmp dword [ecx + 0x58], eax
jae 0x42ef60
cmp word [edx], 0x78
je 0x42ef2f
cmp word [eax], 0x78
jne 0x42ef60
jmp 0x42ef2f
mov eax, ecx
sub eax, 0
jne 0x435552
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
mov dword [ebp - 0x1c], edx
je 0x42eed4
jmp 0x42ef6e
cmp ecx, 0xfffffc19
je case.0x42e85c.159
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x4378b1
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42ef60
test ebx, ebx
jne 0x435724
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
mov edx, dword [ebp - 0x1c]
test edi, edi
je 0x42efea
movzx ecx, word [edx + 2]
test ecx, ecx
jle 0x42efd1
mov eax, dword [ebp - 0x14]
mov ebx, 0xfc00
mov esi, 0xdc00
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x18]
dec ecx
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, edx
jb case.0x42e85c.159
mov ax, word [eax]
and ax, bx
cmp ax, si
jne 0x42efc7
sub dword [ebp - 0x18], 2
test ecx, ecx
jg 0x42efa6
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x60]
jae 0x42efdc
mov dword [esi + 0x60], eax
mov ebx, dword [ebp - 0x18]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x42e833
movzx eax, word [edx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, ebx
mov dword [ebp - 0x18], ebx
cmp eax, dword [esi + 0x50]
jb case.0x42e85c.159
jmp 0x42efd4
mov edx, dword [ebp - 0x1c]
movzx esi, byte [0x4551ee]
cmp ecx, 0x76
je 0x42f016
movzx esi, word [edx + 6]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xac], 0
je 0x42f138
mov dword [ebp - 0xc4], 1
movzx eax, word [edx + 4]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x28]
shr eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx eax, word [eax + 0x7c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x54]
sub eax, dword [ecx + 0x50]
sar eax, 1
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ecx + 0x50]
sar eax, 1
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ecx + 0x50]
sar eax, 1
mov dword [ebp - 0xa0], eax
movzx eax, word [edx + 2]
mov dword [ebp - 0x9c], eax
movzx eax, word [edx + 4]
mov dword [ebp - 0x98], eax
cmp word [edx], 0x76
jne 0x42f0ea
movzx eax, word [edx + 6]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
jmp 0x42f110
mov dword [ebp - 0xc0], 0
movzx eax, word [edx + 8]
mov dword [ebp - 0x94], eax
lea eax, [edx + 0xc]
mov dword [ebp - 0x8c], eax
lea eax, [esi - 7]
mov dword [ebp - 0x90], eax
mov eax, ecx
lea ecx, [ebp - 0xc4]
push dword [eax + 0xa8]
mov eax, dword [eax + 0xac]
push ecx
call eax
add esp, 8
test eax, eax
jg case.0x42e85c.159
js 0x437b12
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
lea edx, [edx + esi*2]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x42f161
xor ecx, ecx
jmp 0x42f165
movzx ecx, word [edi + 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x42f189
cmp ecx, dword [eax + 4]
jne 0x42f183
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x10]
je 0x43556e
mov eax, dword [eax]
test eax, eax
jne 0x42f172
mov eax, dword [ebp - 0x14]
add ebx, 4
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x1c], ebx
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xa0], ecx
mov ecx, dword [eax + 0x30]
cmp ecx, 0x2d
ja 0x42f216
push dword [ebp + 0x20]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edi
push dword [ebp - 0x18]
call fcn.004382a0
mov edx, dword [ebp - 0x14]
add esp, 0x1c
mov ecx, dword [ebp - 0x80]
mov dword [edx + 0xa0], ecx
cmp eax, 1
je 0x42f1f6
cmp eax, 0xfffffc19
jne 0x437b12
mov eax, edx
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x18], eax
mov eax, edx
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x18]
mov esi, edx
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x42f23f
mov ecx, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xa4]
mov eax, dword [eax]
mov dword [ecx + 0xa4], eax
mov ecx, dword [ebp - 0x78]
jmp 0x42f265
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
lea eax, [ecx*4 + 4]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call eax
add esp, 8
test eax, eax
je 0x4355b6
lea ecx, [eax + 4]
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
shl eax, 2
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x2c]
push ecx
call fcn.0043f220
add esp, 0xc
mov eax, 0x89
cmp word [edi], ax
mov eax, dword [ebp + 0x20]
sbb ebx, ebx
inc ebx
inc eax
mov dword [ebp - 0x44], eax
test ebx, ebx
je 0x42f29e
mov ecx, dword [ebp - 0x14]
or dword [ecx + 0x88], 2
push eax
push dword [ebp - 0x34]
movzx eax, word [edi]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [edi + eax*2]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
mov esi, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x30]
shl ecx, 2
push ecx
push dword [ebp - 0x78]
push dword [eax + 0x2c]
call fcn.0043f220
mov edx, dword [ebp - 0x14]
add esp, 0x28
mov eax, dword [ebp - 0x74]
mov dword [edx + 0x7c], eax
mov eax, dword [ebp - 0x80]
mov dword [edx + 0xa0], eax
cmp esi, 1
je 0x42f33b
cmp esi, 0xfffffc19
je 0x42f33b
cmp esi, 0xfffffc1c
jl 0x42f30e
cmp esi, 0xfffffc20
jle 0x435584
test esi, esi
jne 0x435586
mov eax, edx
lea ecx, [ebp - 0x80]
mov dword [eax + 0xa0], ecx
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x78
lea edi, [edi + eax*2]
jne 0x435586
mov eax, dword [ebp - 0x44]
jmp 0x42f290
mov ecx, dword [ebp - 0x78]
mov eax, edx
add ecx, 0xfffffffc
mov eax, dword [eax + 0xa4]
mov dword [ecx], eax
mov eax, edx
mov dword [eax + 0xa4], ecx
jmp 0x42f1f8
mov edx, dword [ebp - 0x1c]
nop dword [eax + eax]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42f360
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp - 0x1c]
inc eax
push eax
push dword [ebp - 0x34]
add esi, 2
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push esi
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x78
lea esi, [esi + eax*2]
je 0x42f3a1
mov ebx, dword [ebp - 0x18]
lea edx, [esi + 4]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, eax
nop dword [eax + eax]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x42f3d0
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
lea eax, [ecx + 4]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
jmp 0x42e82d
mov ecx, dword [ebp - 0x1c]
add ecx, 2
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x42f414
lea edx, [ecx + 4]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x1c], ecx
movzx edx, word [ecx]
mov dword [ebp - 0x30], edx
cmp edx, 0x87
je 0x42f453
cmp edx, 0x8c
jne 0x42f463
movzx edi, word [ecx + 4]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x34]
jb 0x42f5a1
mov eax, dword [ebp - 0x14]
mov esi, ecx
xor ebx, ebx
sub esi, dword [eax + 0x4c]
mov edi, dword [eax + 0x7c]
mov eax, dword [ebp + 0x20]
sar esi, 1
inc eax
mov dword [ebp - 0x44], eax
nop dword [eax]
cmp edx, 0x89
jb 0x42f495
mov ecx, dword [ebp - 0x14]
or dword [ecx + 0x88], 2
mov ecx, dword [ebp - 0x1c]
push eax
push dword [ebp - 0x34]
movzx eax, word [ecx]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1a
jne 0x42f4fb
mov eax, dword [ebp - 0x14]
mov ebx, 1
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x28], ecx
lea edx, [eax + esi*2]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x18], eax
je 0x42f560
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
jmp 0x42f480
cmp ecx, 0xfffffc20
jne 0x42f52e
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x58], eax
jae 0x4378b1
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42f539
cmp word [eax], 0x78
jne 0x4378b1
jmp 0x42f539
test ecx, ecx
jne 0x4378b1
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
mov dword [ebp - 0x1c], edx
jne 0x42f57f
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0x7c], edi
mov eax, dword [ebp - 0x44]
jmp 0x42f480
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42f560
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
test ebx, ebx
jne 0x42e96e
cmp dword [ebp - 0x3c], ebx
je case.0x42e85c.159
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
shl eax, 2
mov ebx, ecx
mov ecx, dword [esi + 0x2c]
sub ebx, dword [esi + 0x4c]
mov dword [ebp - 0x44], eax
sar ebx, 1
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x50], edx
mov eax, dword [eax + 0x30]
sub eax, edi
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x7c]
mov eax, dword [ebp - 0x18]
nop dword [eax]
mov edx, eax
mov eax, dword [ebp - 0x14]
sub edx, dword [eax + 0x50]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x2c]
sub ecx, edi
sar edx, 1
cmp dword [ebp - 0x30], 0x89
mov dword [eax + ecx*4], edx
jb 0x42f608
mov eax, dword [ebp - 0x14]
or dword [eax + 0x88], 2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
movzx eax, word [ecx]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1a
jne 0x42f67c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, 1
mov dword [ebp - 0x38], ecx
lea edx, [eax + ebx*2]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov ecx, dword [eax + 0x58]
mov esi, dword [eax + 0x7c]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
je 0x42f720
mov dword [ebp - 0x18], eax
jmp 0x42f5e0
cmp ecx, 0xfffffc20
jne 0x42f6af
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x58], eax
jae 0x4378b1
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42f6ba
cmp word [eax], 0x78
jne 0x4378b1
jmp 0x42f6ba
test ecx, ecx
jne 0x4378b1
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7c], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
mov dword [ebp - 0x1c], edx
je 0x42f5d9
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x42f70f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + 0x2c]
mov dword [ecx + eax], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + 0x2c]
mov dword [eax + ecx + 4], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x48]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x2c]
sub ecx, edi
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne 0x42e96e
test ecx, ecx
jmp 0x42f58a
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42f720
jmp 0x42f70f
mov edx, dword [ebp - 0x1c]
mov ecx, 0x89
mov ebx, edx
movzx eax, word [edx + 2]
add eax, eax
sub ebx, eax
movzx eax, word [ebx]
cmp ax, cx
jae 0x42f75d
mov edi, 0x82
cmp ax, di
je 0x42f75d
mov dword [ebp - 0x44], 0
jmp 0x42f76b
mov edi, dword [ebp - 0x34]
mov ecx, dword [edi + 4]
mov edi, dword [edi]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x34], edi
cmp eax, 0x7e
jb 0x42f77e
mov ecx, 0x81
cmp ax, cx
jbe 0x43570a
mov ecx, 0x83
cmp ax, cx
je 0x43570a
mov ecx, 0x86
cmp ax, cx
je 0x42f7b8
mov ecx, 0x8b
cmp ax, cx
je 0x42f7b8
mov ecx, 0x87
cmp ax, cx
je 0x42f7b8
mov ecx, 0x8c
cmp ax, cx
jne 0x42f856
mov eax, dword [ebp - 0x14]
movzx esi, word [ebx + 4]
mov eax, dword [eax + 0xa0]
lea edx, [esi + esi]
test eax, eax
je 0x42f7d5
cmp dword [eax + 4], esi
je 0x4355cc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov eax, dword [eax + 0x7c]
and eax, 0xffff0000
or eax, esi
mov dword [ecx + 0x7c], eax
cmp edx, dword [ecx + 0x34]
jb 0x42f7ff
mov esi, ecx
or eax, 0x10000
mov dword [esi + 0x7c], eax
mov edx, dword [ebp - 0x1c]
jmp 0x42f859
cmp edx, edi
jbe 0x42f821
mov eax, ecx
mov eax, dword [eax + 0x2c]
lea edi, [eax + edi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x42f81e
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
sub eax, esi
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax + 0x50]
mov eax, dword [eax + 0x2c]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp edi, edx
ja 0x42f7fa
lea edi, [edx + 2]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edi
jmp 0x42f859
mov edi, dword [ebp - 0x28]
movzx eax, word [edx]
cmp eax, 0x7c
je 0x4356dd
cmp eax, 0x79
je 0x42f876
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x44]
jne 0x434e41
mov eax, 0x82
cmp word [ebx], ax
je 0x4356a0
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov esi, eax
test byte [eax + 0x74], 1
mov eax, dword [ebp - 0x18]
je 0x42f8b1
cmp eax, dword [esi + 0x50]
je case.0x42e85c.159
jmp 0x42f8b1
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x50]
jne case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov esi, eax
test byte [eax + 0x74], 1
mov eax, dword [ebp - 0x18]
je 0x42f8e2
cmp eax, dword [esi + 0x50]
je case.0x42e85c.159
mov ecx, dword [esi + 0x50]
cmp eax, ecx
je 0x42f8ba
cmp eax, dword [esi + 0x54]
jne 0x42f8fb
test dword [esi + 0x78], 0x200000
je case.0x42e85c.159
mov edx, dword [esi + 0x8c]
test edx, edx
je 0x42f940
cmp eax, ecx
jbe case.0x42e85c.159
mov eax, dword [ebp - 0x14]
push edi
add eax, 0x90
push eax
push ecx
push edx
push dword [ebp - 0x18]
call fcn.0043ad30
add esp, 0x14
test eax, eax
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
add edx, 2
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x90]
lea edx, [esi + esi]
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x18]
cmp ecx, eax
jb case.0x42e85c.159
sub ecx, edx
mov edx, dword [ebp - 0x14]
mov ax, word [ecx]
cmp ax, word [edx + 0x94]
jne case.0x42e85c.159
cmp esi, 1
mov esi, edx
je 0x42f8ba
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x96]
jmp 0x42f8b4
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x50]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e830
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x2c], eax
mov ebx, eax
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x42fac3
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x42fa73
mov ebx, dword [ebp - 0x18]
add eax, 0x90
push edi
push eax
push ecx
push edx
push ebx
call fcn.0043ac80
mov esi, dword [ebp - 0x14]
add esp, 0x14
test eax, eax
jne 0x42faf3
mov eax, dword [ebp - 0x18]
cmp word [esi + 0x40], 0
je case.0x42e85c.159
add eax, 2
cmp eax, dword [esi + 0x54]
jb case.0x42e85c.159
cmp dword [esi + 0x8c], 0
jne case.0x42e85c.159
cmp dword [esi + 0x90], 2
jne case.0x42e85c.159
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [esi + 0x94]
jne case.0x42e85c.159
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
jbe case.0x42e85c.159
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x90]
mov esi, dword [ebp - 0x14]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
ja 0x42fa07
mov ax, word [eax]
cmp ax, word [esi + 0x94]
jne 0x42fa04
mov ebx, dword [ebp - 0x18]
cmp edx, 1
je 0x42faf3
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x96]
jne 0x42fa04
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov esi, dword [ebp - 0x14]
test byte [esi + 0x74], 2
jne case.0x42e85c.159
cmp word [esi + 0x40], 0
je 0x42faf0
cmp eax, dword [esi + 0x60]
jbe 0x42faf0
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
test byte [eax + 0x74], 2
jne case.0x42e85c.159
test byte [eax + 0x78], 0x10
je 0x42fb61
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jb case.0x42e85c.159
cmp word [esi + 0x40], 0
je 0x42f8ba
cmp eax, dword [esi + 0x60]
jbe 0x42f8ba
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x42fc64
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
add esi, 0x90
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x42fc12
push edi
push esi
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne 0x42fc4c
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x42e85c.159
add eax, 2
cmp eax, dword [ecx + 0x54]
jb case.0x42e85c.159
cmp dword [ecx + 0x8c], 0
jne case.0x42e85c.159
cmp dword [ecx + 0x90], 2
jne case.0x42e85c.159
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ecx + 0x94]
jne case.0x42e85c.159
mov dword [ecx + 0x18], 1
cmp word [ecx + 0x40], 1
jbe case.0x42e85c.159
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov ecx, dword [ebp - 0x14]
ja 0x42fba6
mov ax, word [eax]
cmp ax, word [ecx + 0x94]
jne 0x43573a
cmp edx, 1
je 0x42fc4c
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
cmp ax, word [ecx + 0x96]
jne 0x43573a
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi]
add ecx, ecx
mov eax, dword [eax + 0x54]
sub eax, ecx
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
jne 0x42fba3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x42f8ba
cmp eax, dword [esi + 0x60]
jbe 0x42f8ba
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
test edi, edi
je 0x42fe49
cmp eax, dword [esi + 0x50]
je 0x42fd80
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42fccf
sub edx, 2
mov eax, dword [ebp - 0x14]
cmp edx, dword [eax + 0x60]
jae 0x42fcda
mov dword [eax + 0x60], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fd05
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 0x14]
test dword [eax + 0x78], 0x20000
je 0x42fd68
cmp ecx, 0x5f
jne 0x42fd1b
lea esi, [ecx - 0x5e]
jmp 0x42fd82
mov eax, ecx
test eax, eax
jns 0x42fd24
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x42fd3e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x42fd61
cmp eax, 3
jne 0x42fd80
mov esi, 1
jmp 0x42fd82
cmp ecx, 0x100
jae 0x42fd80
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x42fd80
mov esi, 1
jmp 0x42fd82
xor esi, esi
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov eax, dword [eax + 0x54]
cmp ebx, eax
jb 0x42fddb
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x42fdb7
mov ecx, dword [ebp - 0x14]
mov eax, ebx
cmp eax, dword [ecx + 0x60]
jbe 0x42fdb7
mov eax, ecx
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov ax, word [edx]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp ax, 5
jne 0x42ffbe
xor eax, eax
cmp ecx, esi
sete al
jmp 0x42ffc5
lea ecx, [ebx + 2]
cmp ecx, eax
jae 0x42fdf2
mov ax, word [ecx]
and ax, word [ebp - 0x6c]
cmp ax, word [ebp - 0x60]
jne 0x42fdf2
add ecx, 2
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x64]
jbe 0x42fdfd
mov dword [eax + 0x64], ecx
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fe28
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 0x14]
test dword [eax + 0x78], 0x20000
jne 0x42ff3d
cmp ecx, 0x100
jae 0x42fdb7
jmp 0x42ffa7
cmp eax, dword [esi + 0x50]
jne 0x42fe58
mov edx, 0xff
jmp 0x42fed4
cmp eax, dword [esi + 0x60]
ja 0x42fe66
add eax, 0xfffffffe
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0x18]
test dword [esi + 0x78], 0x20000
je 0x42fefd
movzx ecx, word [eax - 2]
cmp ecx, 0x5f
jne 0x42fe86
lea esi, [ecx - 0x5e]
mov edx, 0xff
jmp 0x42fed6
mov eax, ecx
test eax, eax
jns 0x42fe8f
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x42fea9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x42feee
cmp eax, 3
je 0x42feee
mov edx, 0xff
mov eax, dword [ebp - 0x18]
xor esi, esi
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0x54]
jb 0x42ff23
cmp word [ecx + 0x40], 0
je 0x42fdb7
jmp 0x42fd9e
mov eax, dword [ebp - 0x18]
mov esi, 1
mov edx, 0xff
jmp 0x42fed6
movzx eax, word [eax - 2]
mov edx, 0xff
cmp ax, dx
ja 0x42fed1
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x42fed1
mov eax, dword [ebp - 0x18]
mov esi, 1
jmp 0x42fed6
cmp eax, dword [ecx + 0x64]
jb 0x42ff31
add eax, 2
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x18]
test dword [ecx + 0x78], 0x20000
je 0x42ff96
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x42ff8c
mov eax, ecx
test eax, eax
jns 0x42ff4b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x42ff65
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x42ff8c
cmp eax, 3
jne 0x42fdb7
mov ecx, 1
jmp 0x42fdb9
movzx eax, word [eax]
cmp ax, dx
ja 0x42fdb7
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x42fdb7
mov ecx, 1
jmp 0x42fdb9
xor eax, eax
cmp ecx, esi
setne al
test eax, eax
jne case.0x42e85c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42e830
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x430069
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x430012
mov eax, dword [ebp - 0x14]
push edi
add eax, 0x90
push eax
push ecx
push edx
push dword [ebp - 0x18]
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne case.0x42e85c.159
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
cmp word [ebx + 0x40], 0
je 0x4300b2
add eax, 2
cmp eax, dword [ebx + 0x54]
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
jb 0x4300b8
cmp dword [eax + 0x8c], 0
jne 0x4300b8
cmp dword [eax + 0x90], 2
jne 0x4300b8
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
mov eax, ecx
jne 0x4300b8
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
jmp 0x4300b8
mov edx, dword [eax + 0x90]
mov ebx, dword [ebp - 0x14]
lea eax, [edx + edx]
mov ecx, dword [ebx + 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
ja 0x4300aa
mov ax, word [eax]
cmp ax, word [ebx + 0x94]
jne 0x4300aa
cmp edx, 1
je case.0x42e85c.159
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x96]
je case.0x42e85c.159
mov eax, dword [ebp - 0x18]
jmp 0x430015
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x54]
cmp ebx, eax
jae 0x435742
add ebx, 2
mov dword [ebp - 0x18], ebx
test edi, edi
je 0x4300ed
cmp ebx, eax
jae 0x4300ed
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4300ed
add dword [ebp - 0x18], 2
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e830
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
mov edx, dword [ebp - 0x1c]
add eax, 2
add edx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
mov ebx, eax
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x430164
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430164
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x100
jae 0x42f8ba
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 4
jmp 0x42f8b4
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x4301c3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4301c3
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0xff
ja case.0x42e85c.159
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 4
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x430234
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430234
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x100
jae 0x42f8ba
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 1
jmp 0x42f8b4
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x430293
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430293
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0xff
ja case.0x42e85c.159
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 1
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x430304
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430304
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x100
jae 0x42f8ba
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 0x10
jmp 0x42f8b4
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x430363
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430363
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0xff
ja case.0x42e85c.159
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov edx, dword [esi + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x4303d9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 0x18]
jne 0x4303d9
movzx eax, word [eax]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
mov eax, dword [ebp - 0x18]
cmp ecx, 0xd
ja 0x43041c
je 0x4303f4
cmp ecx, 0xa
je 0x42f8ba
jbe case.0x42e85c.159
cmp ecx, 0xc
jmp 0x43042d
cmp eax, edx
jae 0x42fb22
cmp word [eax], 0xa
jne 0x42f8ba
mov edx, dword [ebp - 0x1c]
add eax, 2
add edx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
mov ebx, eax
jmp 0x42e833
cmp ecx, 0x85
je 0x430433
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x43049b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43049b
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x180e
ja 0x4304f7
je case.0x42e85c.159
cmp ecx, 0xa0
ja 0x4304da
je case.0x42e85c.159
cmp ecx, 9
je case.0x42e85c.159
cmp ecx, 0x20
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
cmp ecx, 0x1680
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
cmp ecx, 0x205f
ja 0x43053a
je case.0x42e85c.159
cmp ecx, 0x2000
jb 0x42f8ba
cmp ecx, 0x200a
jbe case.0x42e85c.159
cmp ecx, 0x202f
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
cmp ecx, 0x3000
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x43059e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43059e
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x180e
ja 0x4305d6
je 0x42f8ba
cmp ecx, 0xa0
ja 0x4305cb
je 0x42f8ba
cmp ecx, 9
je 0x42f8ba
cmp ecx, 0x20
jmp 0x42f8b4
cmp ecx, 0x1680
jmp 0x42f8b4
cmp ecx, 0x205f
ja 0x430607
je 0x42f8ba
cmp ecx, 0x2000
jb case.0x42e85c.159
cmp ecx, 0x200a
jbe 0x42f8ba
cmp ecx, 0x202f
jmp 0x42f8b4
cmp ecx, 0x3000
jmp 0x42f8b4
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x430659
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430659
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x85
ja 0x43068a
je case.0x42e85c.159
cmp ecx, 0xa
jb 0x42f8ba
cmp ecx, 0xd
jbe case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
cmp ecx, 0x2028
jb 0x42f8ba
cmp ecx, 0x2029
jbe case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x4306fa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4306fa
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp ecx, 0x85
ja 0x430725
je 0x42f8ba
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435781
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x43078c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43078c
mov eax, dword [ebp - 0x18]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 0x18], 2
mov eax, edx
test eax, eax
jns 0x430795
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4307b0
dec eax
or eax, 0xffffff80
inc eax
mov ebx, dword [ebp - 0x1c]
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x459ac8]
cmp eax, 0xa
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437d48]
cmp dword [ebp - 0x30], 0xf
jmp 0x4309ce
mov al, byte [ecx*8 + 0x456249]
cmp al, 9
je 0x4309be
cmp al, 5
je 0x4309be
cmp al, 8
je 0x4309be
xor ecx, ecx
jmp 0x4309c3
movzx ecx, byte [ecx*8 + 0x456249]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x455310]
setne dl
xor eax, eax
cmp dword [ebp - 0x30], 0x10
sete al
cmp edx, eax
jmp 0x4309ce
movzx eax, byte [ecx*8 + 0x456249]
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
cmp word [edx + 4], ax
setne cl
xor eax, eax
cmp dword [ebp - 0x30], 0x10
sete al
cmp ecx, eax
je case.0x42e85c.159
mov ebx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x1c], edx
jmp 0x42e833
movzx eax, byte [ecx*8 + 0x456248]
jmp 0x430830
movzx eax, byte [ecx*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x4309be
cmp eax, 3
je 0x4309be
xor ecx, ecx
jmp 0x4309c3
cmp edx, 0x180e
ja 0x4308d0
je case.0x4307ca.0
cmp edx, 0x85
ja 0x4308bc
je case.0x4307ca.0
cmp edx, 9
jb case.0x4308f0.8203
cmp edx, 0xd
jbe case.0x4307ca.0
cmp edx, 0x20
jmp 0x430909
cmp edx, 0xa0
je case.0x4307ca.0
cmp edx, 0x1680
jmp 0x430909
cmp edx, 0x202f
ja 0x4308f7
je case.0x4307ca.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4308f0.8203
movzx eax, byte [edx + 0x437d7c]
jmp dword [eax*4 + 0x437d74]
cmp edx, 0x205f
je case.0x4307ca.0
cmp edx, 0x3000
je case.0x4307ca.0
movzx eax, byte [ecx*8 + 0x456249]
xor ecx, ecx
cmp dword [eax*4 + 0x455310], 6
sete cl
jmp 0x4309c3
movzx eax, byte [ecx*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x4309be
cmp eax, 3
je 0x4309be
cmp edx, 0x5f
je 0x4309be
xor ecx, ecx
jmp 0x4309c3
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x456108]
lea eax, [eax*4 + 0x456108]
cmp edx, ecx
jb 0x430972
lea eax, [eax + 4]
cmp edx, ecx
je 0x430978
mov ecx, dword [eax]
cmp edx, ecx
jae 0x430965
cmp dword [ebp - 0x30], 0x10
jmp 0x4309ce
cmp dword [ebp - 0x30], 0x10
jne case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x1c], edx
jmp 0x42e833
cmp edx, 0x24
je 0x4309be
cmp edx, 0x40
je 0x4309be
cmp edx, 0x60
je 0x4309be
cmp edx, 0xa0
jb 0x4309b2
cmp edx, 0xd7ff
jbe 0x4309be
cmp edx, 0xe000
jae 0x4309be
xor ecx, ecx
jmp 0x4309c3
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x30], 0xf
sete al
cmp ecx, eax
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov edi, dword [esi + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x435781
movzx ecx, word [eax]
add eax, 2
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x430a31
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430a31
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
mov eax, ecx
test eax, eax
jns 0x430a3a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x430a54
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx esi, byte [eax*8 + 0x45624a]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x430b08
movzx ecx, word [eax]
mov edx, 1
test ebx, ebx
je 0x430aad
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430aad
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x430ab6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x430ad0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx ecx, byte [eax*8 + 0x45624a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552d8], eax
je 0x430b05
mov eax, dword [ebp - 0x18]
mov esi, ecx
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
cmp eax, edi
jb 0x430a71
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x430b2f
cmp eax, edi
jb 0x430b2f
cmp eax, dword [esi + 0x60]
jbe 0x430b2f
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
movzx eax, word [esi + 0x46]
cmp edx, 0x74
sete bl
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
add edi, 6
imul ecx, eax
mov eax, dword [esi + 0x48]
xor esi, esi
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x3c], ebx
lea ecx, [eax + ecx*2]
test edx, edx
jle 0x430bb3
movzx esi, word [ecx]
dec edx
add esi, esi
cmp esi, dword [ebp - 0x28]
jae 0x430b89
mov eax, dword [edi + 0x2c]
cmp dword [eax + esi*4], 0xffffffff
jne 0x430bb3
movzx eax, word [edi + 0x46]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x430b75
jmp 0x430bb3
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
cmp edx, 0x72
sete bl
movzx esi, word [edi + 2]
add esi, esi
mov dword [ebp - 0x3c], ebx
add edi, 4
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
movzx edx, word [eax]
mov ecx, edx
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x430bce
movzx eax, byte [eax + 0x437db0]
jmp dword [eax*4 + 0x437da8]
mov edx, dword [ebp - 0x1c]
lea eax, [ecx - 0x62]
movsx ebx, byte [eax + 0x454e8c]
mov ecx, eax
movsx eax, byte [eax + 0x454e98]
add edx, 2
and ecx, 1
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x430c36
mov dword [ebp - 0x38], SysReAllocString
jmp 0x430c36
xor eax, eax
mov ecx, SysReAllocString
cmp edx, 0x69
mov edx, dword [ebp - 0x1c]
sete al
mov dword [ebp - 0x44], eax
movzx eax, word [edx + 4]
movzx ebx, word [edx + 2]
test eax, eax
mov dword [ebp - 0x4c], ebx
cmove eax, ecx
add edx, 6
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], edx
cmp esi, dword [ebp - 0x28]
jae 0x430c58
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + esi*4]
cmp ecx, 0xffffffff
je 0x430c58
mov edi, dword [ebp - 0x20]
cmp ecx, dword [eax + esi*4 + 4]
je 0x42e816
mov eax, dword [ebp - 0x14]
jmp 0x430c73
mov edi, dword [ebp - 0x20]
test ebx, ebx
je 0x42e816
mov eax, dword [ebp - 0x14]
test dword [eax + 0x78], 0x200
jne 0x42e820
mov ecx, dword [ebp - 0x18]
mov edi, 1
cmp ebx, edi
jl 0x430cb1
nop
lea edx, [ebp - 0x68]
push edx
push dword [ebp - 0x3c]
push eax
push ecx
push dword [ebp - 0x28]
push esi
call fcn.00438080
add esp, 0x18
test eax, eax
jne 0x4357b0
mov eax, dword [ebp - 0x68]
inc edi
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
cmp edi, ebx
jle 0x430c80
mov edx, dword [ebp - 0x38]
cmp ebx, edx
je 0x42e827
cmp dword [ebp - 0x44], 0
je 0x4357eb
mov edi, dword [ebp + 0x20]
inc edi
push edi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x38]
jge case.0x42e85c.159
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x28]
push esi
call fcn.00438080
add esp, 0x18
test eax, eax
jne 0x4357b0
mov eax, dword [ebp - 0x58]
inc ebx
mov ecx, dword [ebp - 0x18]
push edi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
lea ecx, [ecx + eax*2]
push dword [ebp - 0x28]
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x430cf0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x64]
push eax
push ebx
mov ebx, dword [ebp - 0x18]
push edi
push ebx
push dword [ebp - 0x28]
push esi
call fcn.00438080
add esp, 0x18
test eax, eax
jne 0x435986
mov eax, dword [ebp - 0x64]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x18], ebx
jmp 0x42e82a
mov esi, dword [ebp - 0x1c]
movzx ecx, word [esi + 0x22]
lea ebx, [esi + 2]
add esi, 0x22
mov dword [ebp - 0x44], ebx
mov edx, ecx
mov dword [ebp - 0x1c], esi
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x430da9
movzx eax, byte [eax + 0x437dc0]
jmp dword [eax*4 + 0x437db8]
lea eax, [edx - 0x62]
add esi, 2
mov dword [ebp - 0x1c], esi
cmp eax, 8
jae 0x430dc8
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x430dcf
mov dword [ebp - 0x48], 1
movsx ecx, byte [eax + 0x454e8c]
movsx eax, byte [eax + 0x454e98]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x430e32
mov dword [ebp - 0x24], SysReAllocString
jmp 0x430e32
xor eax, eax
mov edx, SysReAllocString
cmp ecx, 0x69
sete al
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [esi + 2]
sete al
mov dword [ebp - 0x48], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, edx
add esi, 6
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], esi
jmp 0x430e2f
mov dword [ebp - 0x24], 1
mov ecx, 1
mov dword [ebp - 0x38], ecx
mov esi, 1
test edi, edi
je 0x430ec8
cmp ecx, esi
jl 0x430f1e
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x4359ad
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430e92
mov eax, dword [ebp - 0x18]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 0x18], 2
cmp edx, 0xff
jbe 0x430ea6
cmp dword [ebp - 0x30], 0x6e
je case.0x42e85c.159
jmp 0x430ec1
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e85c.159
mov ecx, dword [ebp - 0x38]
inc esi
cmp esi, ecx
jle 0x430e50
jmp 0x430f1e
cmp ecx, 1
jl 0x430f1e
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x4359ad
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
cmp edx, 0xff
jbe 0x430efb
cmp dword [ebp - 0x30], 0x6e
je case.0x42e85c.159
jmp 0x430f19
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e85c.159
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
inc esi
cmp esi, ecx
jle 0x430ed6
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x14]
cmp ecx, edi
je 0x430fae
cmp dword [ebp - 0x3c], 0
jne 0x435a85
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x18]
mov ebx, eax
je 0x431011
cmp ecx, edi
jge 0x430fa4
mov edx, esi
mov edi, dword [edx + 0x54]
nop
mov esi, 1
cmp eax, edi
jae 0x430fee
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430f90
mov eax, dword [ebp - 0x18]
and edx, 0x3ff
shl edx, 0xa
mov esi, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
cmp edx, 0xff
jbe 0x430fbc
cmp dword [ebp - 0x30], 0x6e
jne 0x430fd6
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x48], 0
je 0x4359bc
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x44]
test byte [edx + ecx], al
je 0x430f9e
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x38], ecx
lea eax, [eax + esi*2]
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebp - 0x24]
jl 0x430f50
jmp 0x430f9e
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x430fa4
cmp eax, dword [esi + 0x60]
jbe 0x430fa4
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x430fa4
cmp ecx, edi
jge 0x431038
mov edx, esi
mov esi, dword [edx + 0x54]
nop word [eax + eax]
cmp eax, esi
jae 0x43107d
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x431050
cmp dword [ebp - 0x30], 0x6e
jne 0x43106d
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x435a38
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x44]
test byte [edx + ecx], al
mov eax, dword [ebp - 0x18]
je 0x431035
mov ecx, dword [ebp - 0x38]
inc ecx
add eax, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], ecx
cmp ecx, edi
jl 0x431020
jmp 0x431035
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431038
cmp eax, dword [esi + 0x60]
jbe 0x431038
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x431038
mov esi, dword [ebp - 0x1c]
movzx eax, word [esi + 2]
lea ebx, [esi + 4]
movzx ecx, word [esi + eax*2]
lea esi, [esi + eax*2]
mov edx, ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x1c], esi
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x4310cc
movzx eax, byte [eax + 0x437dd4]
jmp dword [eax*4 + 0x437dcc]
lea eax, [edx - 0x62]
add esi, 2
mov dword [ebp - 0x1c], esi
cmp eax, 8
jae 0x4310eb
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x4310f2
mov dword [ebp - 0x48], 1
movsx edi, byte [eax + 0x454e8c]
movsx eax, byte [eax + 0x454e98]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x43114f
mov dword [ebp - 0x38], SysReAllocString
jmp 0x43114f
movzx edi, word [esi + 2]
xor eax, eax
cmp ecx, 0x69
sete al
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp ecx, 0x6d
mov ecx, SysReAllocString
sete al
mov dword [ebp - 0x48], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], esi
jmp 0x43114f
mov dword [ebp - 0x38], 1
mov edi, 1
mov esi, 1
cmp edi, esi
jl 0x4311c5
nop dword [eax + eax]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x54]
jae 0x4359b0
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
test edx, edx
je 0x4311ad
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4311ad
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
push edx
push ebx
push ecx
call fcn.0043c1f0
add esp, 0xc
test eax, eax
je case.0x42e85c.159
inc esi
cmp esi, edi
jle 0x431160
mov eax, dword [ebp - 0x38]
cmp edi, eax
je 0x42e827
cmp dword [ebp - 0x3c], 0
jne 0x435ca6
mov ebx, dword [ebp - 0x18]
cmp edi, eax
jge 0x43124b
mov ecx, dword [ebp - 0x14]
mov esi, 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x54]
jae 0x431269
mov edx, dword [ebp - 0x20]
movzx ecx, word [eax]
test edx, edx
je 0x43122b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43122b
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
mov esi, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
push edx
push dword [ebp - 0x44]
push ecx
call fcn.0043c1f0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x18]
je 0x43124e
inc edi
lea eax, [eax + esi*2]
mov dword [ebp - 0x18], eax
cmp edi, dword [ebp - 0x38]
jl 0x4311e1
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x435c20
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, ecx
cmp word [esi + 0x40], 0
je 0x431251
cmp eax, dword [esi + 0x60]
jbe 0x431251
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x431251
test edi, edi
je 0x4312f7
mov edi, dword [ebp - 0x1c]
mov eax, 0xfc00
add edi, 2
mov ecx, 0xd800
mov edx, 1
mov dword [ebp - 0x1c], edi
and ax, word [edi]
cmp ax, cx
mov eax, 2
cmove edx, eax
mov eax, dword [esi + 0x54]
sub eax, ebx
sar eax, 1
cmp edx, eax
ja 0x435d81
test edx, edx
je 0x4312e8
mov cx, word [edi]
dec edx
mov ax, word [ebx]
add edi, 2
add ebx, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
cmp cx, ax
jne case.0x42e85c.159
test edx, edx
jne 0x4312c8
mov edi, dword [ebp - 0x20]
dec edx
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x1c]
jmp 0x42e833
mov eax, dword [esi + 0x54]
sub eax, ebx
and eax, 0xfffffffe
cmp eax, 2
jl 0x435da3
mov edx, dword [ebp - 0x1c]
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp word [edx + 2], ax
jne case.0x42e85c.159
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435db0
test edi, edi
je 0x431457
mov edx, dword [ebp - 0x1c]
mov ecx, 1
add edx, 2
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x1c], edx
movzx esi, word [edx]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431381
movzx eax, word [edx + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov ecx, 2
add esi, 0x10000
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x18]
cmp esi, 0x80
jae 0x4313c5
movzx ecx, word [eax]
cmp ecx, 0xff
ja 0x4313a1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
movzx eax, byte [eax + esi]
cmp eax, ecx
jne case.0x42e85c.159
add edx, 2
add dword [ebp - 0x18], 2
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
jmp 0x42e830
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4313fc
mov eax, dword [ebp - 0x18]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 0x18], 2
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x1c], eax
cmp esi, edx
je 0x42e82d
mov eax, esi
test eax, eax
jns 0x431419
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x431434
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
mov eax, dword [eax*8 + 0x45624c]
add eax, esi
cmp edx, eax
jne case.0x42e85c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42e82d
mov eax, dword [ebp - 0x1c]
mov ebx, 0xff
movzx eax, word [eax + 2]
cmp ax, bx
ja 0x431473
mov ecx, eax
mov eax, dword [esi + 0x20]
movzx edx, byte [eax + ecx]
jmp 0x431475
mov edx, eax
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
cmp ax, bx
ja 0x431489
mov ecx, eax
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + ecx]
cmp edx, eax
jne case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
add dword [ebp - 0x18], 2
add edx, 4
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov ecx, dword [ebp - 0x1c]
movzx eax, word [ecx + 2]
add ecx, 4
mov ebx, eax
jmp 0x43156d
mov dword [ebp - 0x48], 1
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x38], ebx
movzx eax, word [eax + 2]
mov dword [ebp - 0x30], eax
cmp ecx, 0x28
je 0x4314da
mov dword [ebp - 0x3c], ebx
cmp ecx, 0x35
jne 0x4314e1
mov dword [ebp - 0x3c], 1
mov ecx, dword [ebp - 0x1c]
add ecx, 4
jmp 0x431573
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add ecx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x431570
mov ecx, dword [ebp - 0x1c]
mov ebx, 1
mov dword [ebp - 0x48], 1
add ecx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x431570
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add ecx, 2
mov dword [ebp - 0x30], 1
jmp 0x431570
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
add dword [ebp - 0x1c], 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
and eax, 1
mov dword [ebp - 0x3c], eax
movsx eax, byte [ecx + 0x454e98]
movsx ebx, byte [ecx + 0x454e8c]
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], ebx
movzx esi, word [ecx]
mov dword [ebp - 0x50], esi
test edi, edi
je 0x4318c7
mov eax, esi
mov dword [ebp - 0x44], ecx
and eax, 0xfc00
mov edi, 1
mov dword [ebp - 0x64], edi
cmp eax, 0xd800
jne 0x4315bf
movzx eax, word [ecx + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov edi, 2
add esi, 0x10000
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x50], esi
lea eax, [edi + edi]
add ecx, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], ecx
cmp edi, 1
jbe 0x4318cf
cmp edx, 0x2e
jb 0x431625
mov eax, esi
test eax, eax
jns 0x4315e1
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4315fc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
mov eax, dword [eax*8 + 0x45624c]
add eax, esi
cmp eax, esi
je 0x431625
lea ecx, [ebp - 0x10]
push ecx
push eax
call fcn.0043ae00
add esp, 8
mov dword [ebp - 0x50], eax
jmp 0x43162c
mov dword [ebp - 0x50], 0
mov esi, dword [ebp - 0x38]
mov ebx, 1
cmp esi, ebx
jl 0x43174e
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x5c], eax
nop
mov edx, dword [ebp - 0x18]
cmp edx, eax
ja 0x4316b4
mov esi, edi
mov ecx, edx
mov edx, dword [ebp - 0x44]
sub esi, 4
jb 0x431674
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x431679
add ecx, 4
add edx, 4
sub esi, 4
jae 0x431663
cmp esi, 0xfffffffc
je 0x4316a6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4316ae
cmp esi, 0xfffffffd
je 0x4316a6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4316ae
cmp esi, 0xfffffffe
je 0x4316a6
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4316ae
cmp esi, 0xffffffff
je 0x4316a6
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4316ae
add dword [ebp - 0x18], edi
jmp 0x431739
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
test eax, eax
jle 0x435dc0
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x435dc0
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x10]
mov esi, edi
sub esi, 4
jb 0x4316f1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4316f6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4316e0
cmp esi, 0xfffffffc
je 0x431733
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x435dc0
cmp esi, 0xfffffffd
je 0x431733
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x435dc0
cmp esi, 0xfffffffe
je 0x431733
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x435dc0
cmp esi, 0xffffffff
je 0x431733
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x435dc0
add dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x38]
inc ebx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x24]
cmp ebx, esi
jle 0x431650
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
cmp esi, ecx
je 0x42e82a
cmp dword [ebp - 0x3c], 0
jne 0x435dd6
mov dword [ebp - 0x24], ebx
mov eax, ebx
cmp esi, ecx
jge 0x431872
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x4c]
mov eax, dword [eax + 0x54]
mov ebx, eax
mov dword [ebp - 0x3c], eax
sub ebx, edi
mov edx, dword [ebp - 0x18]
cmp edx, ebx
ja 0x4317e4
mov esi, edi
mov ecx, edx
mov edx, dword [ebp - 0x44]
sub esi, 4
jb 0x4317a7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4317ac
add ecx, 4
add edx, 4
sub esi, 4
jae 0x431796
cmp esi, 0xfffffffc
je 0x4317d9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4317de
cmp esi, 0xfffffffd
je 0x4317d9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4317de
cmp esi, 0xfffffffe
je 0x4317d9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4317de
cmp esi, 0xffffffff
je 0x4317d9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4317de
add dword [ebp - 0x18], edi
jmp 0x431859
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jle 0x43188d
lea edi, [ecx + ecx]
sub eax, edi
cmp edx, eax
ja 0x43188d
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x10]
mov esi, edi
sub esi, 4
jb 0x431821
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x431826
add ecx, 4
add edx, 4
sub esi, 4
jae 0x431810
cmp esi, 0xfffffffc
je 0x431853
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43188d
cmp esi, 0xfffffffd
je 0x431853
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43188d
cmp esi, 0xfffffffe
je 0x431853
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43188d
cmp esi, 0xffffffff
je 0x431853
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43188d
add dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, dword [ebp - 0x30]
jl 0x431783
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434ede
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov eax, dword [ebp - 0x14]
mov esi, eax
cmp word [eax + 0x40], 0
mov eax, dword [ebp - 0x18]
je 0x4318c2
cmp eax, dword [esi + 0x54]
jb 0x4318ba
cmp eax, dword [esi + 0x60]
jbe 0x4318ba
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
jmp 0x431875
mov ebx, dword [ebp - 0x24]
jmp 0x431875
add ecx, 2
mov dword [ebp - 0x1c], ecx
jmp 0x4318d2
mov edi, dword [ebp - 0x20]
cmp edx, 0x2e
jb 0x4319f0
test edi, edi
je 0x43191d
cmp esi, 0x7f
jbe 0x43191d
mov eax, esi
test eax, eax
jns 0x4318ed
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x431908
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
mov edi, dword [eax*8 + 0x45624c]
add edi, esi
jmp 0x431933
cmp esi, 0xff
ja 0x431931
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
movzx edi, byte [eax + esi]
jmp 0x431933
mov edi, esi
mov ecx, 1
cmp ebx, ecx
jl 0x43196c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x4359ad
movzx eax, word [eax]
cmp esi, eax
je 0x43195c
cmp edi, eax
jne case.0x42e85c.159
mov eax, dword [ebp - 0x18]
inc ecx
add eax, 2
mov dword [ebp - 0x18], eax
cmp ecx, ebx
jle 0x431942
jmp 0x43196f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
cmp ebx, ecx
je 0x42e827
cmp dword [ebp - 0x3c], 0
jne 0x435f4e
mov edx, dword [ebp - 0x38]
mov ebx, eax
cmp edx, ecx
jge 0x4319b2
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x54]
cmp eax, ecx
jae 0x4319cd
movzx eax, word [eax]
cmp esi, eax
je 0x4319a2
cmp edi, eax
jne 0x4319af
add dword [ebp - 0x18], 2
inc edx
mov eax, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x30]
jl 0x431993
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434f60
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4319b5
cmp eax, dword [esi + 0x60]
jbe 0x4319b5
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x4319b5
mov ecx, 1
cmp ebx, ecx
jl 0x431a26
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x4359ad
mov edi, dword [ebp - 0x18]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 0x18], edi
cmp esi, eax
jne case.0x42e85c.159
inc ecx
cmp ecx, ebx
jle 0x431a00
jmp 0x431a29
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
cmp ebx, edx
je 0x42e827
cmp dword [ebp - 0x3c], 0
jne 0x435fe2
mov eax, dword [ebp - 0x18]
mov edi, eax
cmp ebx, edx
jge 0x431a6a
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x54]
nop dword [eax]
cmp eax, ecx
jae 0x431a85
movzx eax, word [eax]
cmp esi, eax
jne 0x431a67
add dword [ebp - 0x18], 2
inc ebx
mov eax, dword [ebp - 0x18]
cmp ebx, edx
jl 0x431a50
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434fa1
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431a6d
cmp eax, dword [esi + 0x60]
jbe 0x431a6d
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x431a6d
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435db0
mov ecx, dword [ebp - 0x1c]
test edi, edi
je 0x431bb2
movzx edx, word [ecx + 2]
add ecx, 4
mov eax, edx
mov dword [ebp - 0x1c], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431af6
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x18]
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431b30
mov eax, dword [ebp - 0x18]
and esi, 0x3ff
shl esi, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x30], 0x1f
jne 0x431b46
cmp edx, esi
je case.0x42e85c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42e82d
cmp edx, 0x7f
jbe 0x431b84
mov eax, edx
test eax, eax
jns 0x431b54
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x431b6f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
mov eax, dword [eax*8 + 0x45624c]
add eax, edx
jmp 0x431b9a
cmp edx, 0xff
ja 0x431b98
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
movzx eax, byte [eax + edx]
jmp 0x431b9a
mov eax, edx
cmp edx, esi
je case.0x42e85c.159
cmp eax, esi
je case.0x42e85c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42e82d
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ecx + 2]
mov dword [ebp - 0x18], eax
cmp ecx, edx
je case.0x42e85c.159
cmp dword [ebp - 0x30], 0x20
jne 0x431be4
cmp ecx, 0xff
ja 0x431bdc
mov eax, dword [esi + 0x24]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x42e85c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x42e833
mov edi, dword [ebp - 0x1c]
movzx eax, word [edi + 2]
add edi, 4
mov ebx, eax
jmp 0x431cc6
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
movzx eax, word [edi + 2]
mov dword [ebp - 0x38], eax
cmp ecx, 0x42
je 0x431c1f
mov dword [ebp - 0x3c], ebx
cmp ecx, 0x4f
jne 0x431c26
mov dword [ebp - 0x3c], 1
add edi, 4
jmp 0x431cc9
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add edi, 2
mov dword [ebp - 0x38], SysReAllocString
jmp 0x431cc9
mov edi, dword [ebp - 0x1c]
mov ebx, 1
mov dword [ebp - 0x48], 1
add edi, 2
mov dword [ebp - 0x38], SysReAllocString
jmp 0x431cc9
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add edi, 2
mov dword [ebp - 0x38], 1
jmp 0x431cc9
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
movzx eax, word [edi + 2]
add edi, 4
jmp 0x431cc6
mov edi, dword [ebp - 0x1c]
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
add edi, 2
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
and eax, 1
mov dword [ebp - 0x3c], eax
movsx eax, byte [ecx + 0x454e98]
movsx ebx, byte [ecx + 0x454e8c]
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
mov dword [ebp - 0x38], eax
movzx esi, word [edi]
add edi, 2
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], edi
test ecx, ecx
je 0x431d0c
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431d0c
movzx eax, word [edi]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add edi, 2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], edi
cmp edx, 0x48
jb 0x431f52
test ecx, ecx
je 0x431d5a
cmp esi, 0x7f
jbe 0x431d5a
mov eax, esi
test eax, eax
jns 0x431d27
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x431d42
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
mov ecx, dword [ebp - 0x20]
mov edi, dword [eax*8 + 0x45624c]
add edi, esi
jmp 0x431d70
cmp esi, 0xff
ja 0x431d6e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
movzx edi, byte [eax + esi]
jmp 0x431d70
mov edi, esi
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x431ded
mov edx, 1
cmp ebx, edx
jl 0x431e2a
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
jae 0x4359ad
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431dd2
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x30], ecx
je case.0x42e85c.159
cmp edi, ecx
je case.0x42e85c.159
inc edx
cmp edx, ebx
jle 0x431d90
mov esi, dword [ebp - 0x30]
jmp 0x431e27
mov ecx, 1
cmp ebx, ecx
jl 0x431e27
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x4359ad
movzx eax, word [eax]
cmp esi, eax
je case.0x42e85c.159
cmp edi, eax
je case.0x42e85c.159
add dword [ebp - 0x18], 2
inc ecx
cmp ecx, ebx
jle 0x431e00
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp ebx, eax
je 0x42e827
cmp dword [ebp - 0x3c], 0
jne 0x436087
mov edi, dword [ebp - 0x18]
test ecx, ecx
je 0x431ee8
cmp ebx, eax
jge 0x431eac
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
mov edx, 1
cmp eax, esi
jae 0x431eca
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431e93
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x30], ecx
je 0x431eaf
cmp dword [ebp - 0x4c], ecx
je 0x431eaf
inc ebx
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
cmp ebx, dword [ebp - 0x38]
jl 0x431e54
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434fe6
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431eb2
cmp eax, dword [esi + 0x60]
jbe 0x431eb2
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42fa5d
jmp 0x431eb2
cmp ebx, eax
jge 0x431f11
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x431f2f
movzx eax, word [eax]
cmp esi, eax
je 0x431f11
cmp edx, eax
je 0x431f11
add dword [ebp - 0x18], 2
inc ebx
cmp ebx, dword [ebp - 0x38]
jl 0x431ef5
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x48], 0
je 0x435045
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431f17
cmp eax, dword [esi + 0x60]
jbe 0x431f17
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x431f17
test ecx, ecx
je 0x43206f
mov edx, 1
cmp ebx, edx
jl 0x4320ab
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
jae 0x4359ad
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431fb2
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x30], ecx
je case.0x42e85c.159
inc edx
cmp edx, ebx
jle 0x431f70
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
cmp ebx, edx
je 0x42e827
cmp dword [ebp - 0x3c], 0
jne 0x4361c2
mov eax, dword [ebp - 0x18]
mov edi, eax
test ecx, ecx
je 0x4320d1
cmp ebx, edx
jge 0x432054
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x54]
nop word [eax + eax]
mov edx, 1
cmp eax, esi
jae 0x4320b3
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432040
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x30], ecx
je 0x432054
inc ebx
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
cmp ebx, dword [ebp - 0x38]
jl 0x432000
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x435089
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov ecx, 1
cmp ebx, ecx
jl 0x431fc3
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x4359ad
mov edi, dword [ebp - 0x18]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 0x18], edi
cmp esi, eax
je case.0x42e85c.159
inc ecx
cmp ecx, ebx
jle 0x432082
jmp 0x431fc6
mov edi, dword [ebp - 0x18]
jmp 0x431fc9
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x432057
cmp eax, dword [esi + 0x60]
jbe 0x432057
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42fa5d
jmp 0x432057
cmp ebx, edx
jge 0x4320fa
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x54]
nop dword [eax + eax]
cmp eax, ecx
jae 0x432115
movzx eax, word [eax]
cmp esi, eax
je 0x4320f7
add dword [ebp - 0x18], 2
inc ebx
mov eax, dword [ebp - 0x18]
cmp ebx, edx
jl 0x4320e0
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x4350e8
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4320fd
cmp eax, dword [esi + 0x60]
jbe 0x4320fd
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x4320fd
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], 1
movzx eax, word [edx + 2]
add edx, 4
mov esi, eax
jmp 0x4321f8
mov eax, dword [ebp - 0x1c]
xor edx, edx
xor esi, esi
cmp ecx, 0x5c
sete dl
movzx eax, word [eax + 2]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x1c]
add edx, 4
jmp 0x4321f8
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x48], 1
add edx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x4321fb
mov edx, dword [ebp - 0x1c]
mov esi, 1
mov dword [ebp - 0x48], 1
add edx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x4321fb
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x48], 1
add edx, 2
mov dword [ebp - 0x30], 1
jmp 0x4321fb
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x48], 1
movzx eax, word [edx + 2]
add edx, 4
jmp 0x4321f8
lea eax, [edx - 0x55]
mov edx, dword [ebp - 0x1c]
movsx esi, byte [eax + 0x454e8c]
mov ecx, eax
movsx eax, byte [eax + 0x454e98]
and ecx, 1
add edx, 2
mov dword [ebp - 0x3c], ecx
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], esi
movzx edi, word [edx]
add edx, 2
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x1c], edx
cmp edi, 0x10
je 0x43221c
cmp edi, 0xf
je 0x43221c
mov ecx, dword [ebp - 0x40]
or eax, 0xffffffff
jmp 0x43223a
movzx eax, word [edx]
xor ecx, ecx
cmp edi, 0xf
movzx edi, word [edx + 2]
mov dword [ebp - 0x54], edi
mov edi, dword [ebp - 0x38]
sete cl
add edx, 4
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x44], eax
test esi, esi
jle 0x432b5d
test eax, eax
js 0x4329dd
cmp eax, 0xa
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437de0]
test ecx, ecx
jne case.0x42e85c.159
mov ebx, dword [ebp - 0x20]
mov ecx, 1
cmp esi, ecx
jl 0x43243c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax + eax]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x4359ad
add dword [ebp - 0x18], 2
movzx eax, word [eax]
test ebx, ebx
je 0x4322a6
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4322a6
add dword [ebp - 0x18], 2
inc ecx
cmp ecx, esi
jle 0x432280
jmp 0x43243c
mov ebx, dword [ebp - 0x20]
mov edx, 1
cmp esi, edx
jl 0x43243c
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
jae 0x4359ad
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x432316
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432316
mov eax, dword [ebp - 0x18]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 0x18], 2
mov eax, ecx
test eax, eax
jns 0x43231f
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x432339
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp eax, 9
je 0x43235e
cmp eax, 5
je 0x43235e
cmp eax, 8
je 0x43235e
xor eax, eax
jmp 0x432363
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
inc edx
cmp edx, edi
jle 0x4322d0
mov edi, dword [ebp - 0x38]
jmp 0x432439
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
mov dword [ebp - 0x5c], esi
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x4323da
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4323da
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, ecx
test eax, eax
jns 0x4323e3
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4323fd
dec ecx
or ecx, 0xffffff80
inc ecx
mov esi, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp dword [eax*4 + 0x455310], esi
mov esi, dword [ebp - 0x5c]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
inc edx
cmp edx, edi
jle 0x432396
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
cmp esi, edx
je 0x42e827
cmp dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x44]
jne 0x436309
mov ebx, dword [ebp - 0x18]
mov edi, ebx
mov dword [ebp - 0x3c], edi
test eax, eax
js 0x433fa7
cmp eax, 0xa
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437e0c]
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
mov dword [ebp - 0x5c], esi
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x4324d4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4324d4
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, ecx
test eax, eax
jns 0x4324dd
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4324f7
dec ecx
or ecx, 0xffffff80
inc ecx
mov esi, dword [ebp - 0x5c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
inc edx
cmp edx, edi
jle 0x432490
jmp 0x432433
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
mov dword [ebp - 0x5c], esi
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x432588
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432588
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, ecx
test eax, eax
jns 0x432591
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4325ab
dec ecx
or ecx, 0xffffff80
inc ecx
mov esi, dword [ebp - 0x5c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456248]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
inc edx
cmp edx, edi
jle 0x432544
jmp 0x432433
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x432639
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432639
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, ecx
test eax, eax
jns 0x432642
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x43265c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x432683
cmp eax, 3
je 0x432683
xor eax, eax
jmp 0x432688
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
inc edx
cmp edx, edi
jle 0x4325f5
jmp 0x432433
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x4326f9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4326f9
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x180e
ja 0x43273c
je case.0x432758.8192
cmp ecx, 0x85
ja 0x432728
je case.0x432758.8192
cmp ecx, 9
jb case.0x432758.8203
cmp ecx, 0xd
jbe case.0x432758.8192
cmp ecx, 0x20
jmp 0x43276d
cmp ecx, 0xa0
je case.0x432758.8192
cmp ecx, 0x1680
jmp 0x43276d
cmp ecx, 0x202f
ja 0x43275f
je case.0x432758.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x432758.8203
movzx eax, byte [eax + 0x437e40]
jmp dword [eax*4 + 0x437e38]
cmp ecx, 0x205f
je case.0x432758.8192
cmp ecx, 0x3000
je case.0x432758.8192
mov eax, ecx
test eax, eax
jns 0x432778
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x432792
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp dword [eax*4 + 0x455310], 6
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
jmp 0x4327c6
cmp dword [ebp - 0x40], 0
jne case.0x42e85c.159
inc edx
cmp edx, edi
jle 0x4326b5
jmp 0x432433
mov esi, 1
cmp dword [ebp - 0x24], esi
jl 0x432433
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
cmp ebx, edi
jae 0x4362e0
movzx edx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x43282c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43282c
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, edx
test eax, eax
jns 0x432835
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x432850
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x43287c
cmp eax, 3
je 0x43287c
cmp edx, 0x5f
je 0x43287c
xor eax, eax
jmp 0x432881
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
inc esi
cmp esi, dword [ebp - 0x24]
jle 0x4327e8
jmp 0x432433
mov esi, 1
cmp dword [ebp - 0x24], esi
jl 0x432436
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop dword [eax]
cmp ebx, edi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x4328f4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4328f4
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x54]
mov edx, dword [eax*4 + 0x456108]
lea eax, [eax*4 + 0x456108]
cmp ecx, edx
jb 0x43291d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x432932
mov edx, dword [eax]
cmp ecx, edx
jae 0x432910
cmp dword [ebp - 0x40], 0
je case.0x42e85c.159
inc esi
cmp esi, dword [ebp - 0x24]
jle 0x4328b0
jmp 0x432433
cmp dword [ebp - 0x40], 0
jne case.0x42e85c.159
jmp 0x432927
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x432995
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432995
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x24
je 0x4329c0
cmp ecx, 0x40
je 0x4329c0
cmp ecx, 0x60
je 0x4329c0
cmp ecx, 0xa0
jb 0x4329b4
cmp ecx, 0xd7ff
jbe 0x4329c0
cmp ecx, 0xe000
jae 0x4329c0
xor eax, eax
jmp 0x4329c5
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432951
jmp 0x432436
cmp edi, 0x16
jne 0x432b65
mov ebx, 1
mov dword [ebp - 0x50], ebx
cmp esi, ebx
jl 0x432b5d
mov edx, dword [ebp - 0x18]
nop dword [eax]
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
cmp edx, edi
jae 0x435d6e
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x432a4a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432a4a
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x432a53
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x432a6d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx esi, byte [eax*8 + 0x45624a]
cmp edx, edi
jae 0x432b26
mov ebx, dword [ebp - 0x18]
nop word [eax + eax]
cmp dword [ebp - 0x20], 0
mov edx, 1
movzx ecx, word [ebx]
je 0x432acb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432acb
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x432ad4
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x432aee
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx ecx, byte [eax*8 + 0x45624a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552d8], eax
je 0x432b1d
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp ebx, edi
jb 0x432a90
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x432b4b
cmp edx, edi
jb 0x432b4b
cmp edx, dword [eax + 0x60]
jbe 0x432b4b
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov esi, dword [ebp - 0x24]
inc ebx
mov dword [ebp - 0x50], ebx
cmp ebx, esi
jle 0x432a00
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
cmp dword [ebp - 0x20], 0
lea eax, [edi - 6]
je 0x433268
cmp eax, 0xf
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437e6c]
mov ebx, 1
cmp esi, ebx
jl 0x432b5d
mov edx, dword [ebp - 0x18]
lea edi, [edx + 2]
jmp 0x432b96
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp edx, ecx
jae 0x435d6e
mov esi, dword [ebp - 0x14]
mov eax, dword [eax + 0x8c]
add esi, 0x90
test eax, eax
je 0x432c58
push dword [ebp - 0x20]
push esi
push ecx
push eax
push edx
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne case.0x42e85c.159
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x432c15
cmp edi, dword [eax + 0x54]
jb 0x432c15
cmp dword [eax + 0x8c], 0
jne 0x432c15
cmp dword [esi], 2
jne 0x432c15
mov edx, dword [ebp - 0x14]
mov ax, word [ecx]
cmp ax, word [edx + 0x94]
mov eax, edx
jne 0x432c15
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
add ecx, 2
add edi, 2
mov dword [ebp - 0x18], ecx
cmp ecx, dword [eax + 0x54]
jae 0x432c41
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x432c41
add ecx, 2
add edi, 2
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x24]
inc ebx
cmp ebx, esi
jle 0x432b93
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
jmp 0x43243f
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp dword [ebp - 0x18], ecx
ja 0x432bd2
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ax, word [ecx]
cmp ax, word [edx + 0x94]
mov edx, dword [esi]
jne 0x432bd5
cmp edx, 1
je case.0x42e85c.159
mov edx, dword [ebp - 0x14]
mov ax, word [edi]
cmp ax, word [edx + 0x96]
je case.0x42e85c.159
jmp 0x432bd5
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x4362e0
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
jae 0x432cd9
mov ax, word [ebx]
and ax, word [ebp - 0x6c]
cmp ax, word [ebp - 0x60]
jne 0x432cd9
add ebx, 2
mov dword [ebp - 0x18], ebx
inc edx
cmp edx, esi
jle 0x432cb4
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov eax, dword [ebp - 0x14]
lea ecx, [esi + esi]
mov eax, dword [eax + 0x54]
sub eax, ecx
cmp ebx, eax
ja case.0x42e85c.159
add ebx, ecx
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov edi, dword [ebp - 0x24]
mov esi, 1
cmp edi, esi
jl 0x432433
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, edx
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432d5e
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0xd
ja 0x432d81
je 0x432d6f
cmp ecx, 0xa
je 0x432da6
lea eax, [ecx - 0xb]
jmp 0x432d8f
cmp ebx, edx
jae 0x432da6
cmp word [ebx], 0xa
jne 0x432da6
add ebx, 2
mov dword [ebp - 0x18], ebx
jmp 0x432da6
cmp ecx, 0x85
je 0x432d98
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je case.0x42e85c.159
inc esi
cmp esi, edi
jle 0x432d20
jmp 0x432433
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432e05
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x180e
ja 0x432e37
je case.0x42e85c.159
cmp ecx, 0xa0
ja 0x432e2f
je case.0x42e85c.159
cmp ecx, 9
je case.0x42e85c.159
cmp ecx, 0x20
jmp 0x432e67
cmp ecx, 0x1680
jmp 0x432e67
cmp ecx, 0x205f
ja 0x432e61
je case.0x42e85c.159
cmp ecx, 0x2000
jb 0x432e6d
cmp ecx, 0x200a
jbe case.0x42e85c.159
cmp ecx, 0x202f
jmp 0x432e67
cmp ecx, 0x3000
je case.0x42e85c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432dc7
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432ece
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x180e
ja 0x432ef4
je 0x432f26
cmp ecx, 0xa0
ja 0x432eec
je 0x432f26
cmp ecx, 9
je 0x432f26
cmp ecx, 0x20
jmp 0x432f20
cmp ecx, 0x1680
jmp 0x432f20
cmp ecx, 0x205f
ja 0x432f1a
je 0x432f26
cmp ecx, 0x2000
jb case.0x42e85c.159
cmp ecx, 0x200a
jbe 0x432f26
cmp ecx, 0x202f
jmp 0x432f20
cmp ecx, 0x3000
jne case.0x42e85c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432e90
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432f86
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x85
ja 0x432f9e
je case.0x42e85c.159
cmp ecx, 0xa
jb 0x432fb2
cmp ecx, 0xd
jmp 0x432fac
cmp ecx, 0x2028
jb 0x432fb2
cmp ecx, 0x2029
jbe case.0x42e85c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432f48
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43300e
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x85
ja 0x433020
je 0x43302f
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x433029
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e85c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432fd0
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
cmp ebx, esi
jae 0x4362e0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43308e
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ecx, 0x80
jae 0x4330a6
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne case.0x42e85c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x433050
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e3
movzx ecx, word [ebx]
cmp ecx, 0x80
jae case.0x42e85c.159
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je case.0x42e85c.159
mov eax, dword [ebp - 0x14]
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x4330c4
jmp 0x432436
mov edi, dword [ebp - 0x24]
mov esi, 1
cmp edi, esi
jl 0x432433
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x4362e3
movzx ecx, word [ebx]
cmp ecx, 0x80
jae 0x433132
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne case.0x42e85c.159
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edx
jae 0x433157
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x433157
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
inc esi
cmp esi, edi
jle 0x433112
jmp 0x432433
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e3
movzx ecx, word [ebx]
cmp ecx, 0x80
jae case.0x42e85c.159
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je case.0x42e85c.159
mov eax, dword [ebp - 0x14]
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x433177
jmp 0x432436
mov edi, dword [ebp - 0x24]
mov esi, 1
cmp edi, esi
jl 0x432433
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x4362e3
movzx ecx, word [ebx]
cmp ecx, 0x80
jae 0x4331e5
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne case.0x42e85c.159
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edx
jae 0x43320a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x43320a
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
inc esi
cmp esi, edi
jle 0x4331c5
jmp 0x432433
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
cmp ebx, esi
jae 0x4362e3
movzx ecx, word [ebx]
cmp ecx, 0x80
jae case.0x42e85c.159
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e85c.159
mov eax, dword [ebp - 0x14]
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x433230
jmp 0x432436
cmp eax, 0xf
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437eac]
mov edi, 1
cmp esi, edi
jl 0x432b5a
mov edx, dword [ebp - 0x14]
nop dword [eax + eax]
mov ecx, dword [edx + 0x54]
cmp ebx, ecx
jae 0x4362f6
mov eax, dword [edx + 0x8c]
lea esi, [edx + 0x90]
test eax, eax
je 0x433318
push 0
push esi
push ecx
push eax
push ebx
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne case.0x42e85c.159
mov edx, dword [ebp - 0x14]
cmp word [edx + 0x40], 0
je 0x4332ff
lea eax, [ebx + 2]
cmp eax, dword [edx + 0x54]
jb 0x4332ff
cmp dword [edx + 0x8c], 0
jne 0x4332ff
cmp dword [esi], 2
jne 0x4332ff
mov ax, word [ebx]
cmp ax, word [edx + 0x94]
jne 0x4332ff
mov dword [edx + 0x18], 1
cmp word [edx + 0x40], 1
ja 0x42fa5d
mov esi, dword [ebp - 0x24]
add ebx, 2
inc edi
mov dword [ebp - 0x18], ebx
cmp edi, esi
jle 0x433290
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4332c1
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x433353
cmp edx, 1
je case.0x42e85c.159
mov ax, word [ebx + 2]
mov edx, ecx
cmp ax, word [edx + 0x96]
je case.0x42e85c.159
jmp 0x4332c4
mov edx, ecx
jmp 0x4332c4
mov edx, dword [ebp - 0x14]
lea ecx, [esi + esi]
mov eax, dword [edx + 0x54]
sub eax, ecx
cmp ebx, eax
ja 0x4362f6
add ebx, ecx
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, ecx
jae 0x4362e3
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0xd
jg 0x4333c7
je 0x4333b2
cmp eax, 0xa
je 0x4333ec
add eax, 0xfffffff5
jmp 0x4333d3
cmp ebx, ecx
jae 0x4333ec
cmp word [ebx], 0xa
mov eax, dword [ebp - 0x14]
jne 0x4333ef
add ebx, 2
mov dword [ebp - 0x18], ebx
jmp 0x4333ef
cmp eax, 0x85
je 0x4333dc
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je case.0x42e85c.159
jmp 0x4333ef
mov eax, dword [ebp - 0x14]
inc edx
cmp edx, esi
jle 0x433390
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov ecx, 1
cmp esi, ecx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop
cmp ebx, edx
jae 0x4362e0
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x180e
jg 0x433450
je case.0x42e85c.159
cmp eax, 0xa0
jg 0x433449
je case.0x42e85c.159
cmp eax, 9
je case.0x42e85c.159
cmp eax, 0x20
jmp 0x43347b
cmp eax, 0x1680
jmp 0x43347b
cmp eax, 0x205f
jg 0x433476
je case.0x42e85c.159
cmp eax, 0x2000
jl 0x433481
cmp eax, 0x200a
jle case.0x42e85c.159
cmp eax, 0x202f
jmp 0x43347b
cmp eax, 0x3000
je case.0x42e85c.159
inc ecx
cmp ecx, esi
jle 0x433410
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov ecx, 1
cmp esi, ecx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x4362e0
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x180e
jg 0x4334d5
je 0x433502
cmp eax, 0xa0
jg 0x4334ce
je 0x433502
cmp eax, 9
je 0x433502
cmp eax, 0x20
jmp 0x4334fc
cmp eax, 0x1680
jmp 0x4334fc
cmp eax, 0x205f
jg 0x4334f7
je 0x433502
cmp eax, 0x2000
jl case.0x42e85c.159
cmp eax, 0x200a
jle 0x433502
cmp eax, 0x202f
jmp 0x4334fc
cmp eax, 0x3000
jne case.0x42e85c.159
inc ecx
cmp ecx, esi
jle 0x4334a1
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov ecx, 1
cmp esi, ecx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x4362e0
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x85
jg 0x43354a
je case.0x42e85c.159
cmp eax, 0xa
jl 0x43355c
cmp eax, 0xd
jmp 0x433556
cmp eax, 0x2028
jl 0x43355c
cmp eax, 0x2029
jle case.0x42e85c.159
inc ecx
cmp ecx, esi
jle 0x433522
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov ecx, 1
cmp esi, ecx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, edx
jae 0x4362e0
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x85
jg 0x4335a2
je 0x4335b0
add eax, 0xfffffff6
cmp eax, 3
jmp 0x4335aa
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e85c.159
inc ecx
cmp ecx, esi
jle 0x433580
mov ebx, dword [ebp - 0x20]
jmp 0x43243c
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x4362e0
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x4335f7
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne case.0x42e85c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x4335d0
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4362e0
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja case.0x42e85c.159
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je case.0x42e85c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x433620
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
cmp ebx, esi
jae 0x4362e0
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x433697
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne case.0x42e85c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x433670
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4362e0
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja case.0x42e85c.159
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je case.0x42e85c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x4336c0
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
cmp ebx, esi
jae 0x4362e0
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x433737
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne case.0x42e85c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x433710
jmp 0x432436
mov edx, 1
cmp esi, edx
jl 0x432b5d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4362e0
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja case.0x42e85c.159
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e85c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x433760
jmp 0x432436
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x40]
nop dword [eax]
mov ecx, 1
cmp ebx, edx
jae 0x4337ef
cmp dword [ebp - 0x20], 0
je 0x4337d6
mov eax, 0xfc00
and ax, word [ebx]
cmp ax, word [ebp - 0x58]
mov eax, 2
cmove ecx, eax
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x433e26
inc esi
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x4337b0
jmp 0x433e26
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x433e29
cmp ebx, dword [esi + 0x60]
jbe 0x433e29
mov dword [esi + 0x18], ecx
cmp word [esi + 0x40], cx
ja 0x42fa5d
jmp 0x433e29
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433873
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433873
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x43387c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433896
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp eax, 9
je 0x4338bb
cmp eax, 5
je 0x4338bb
cmp eax, 8
je 0x4338bb
xor eax, eax
jmp 0x4338c0
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433830
jmp 0x433e26
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x433e29
cmp ebx, dword [esi + 0x60]
jbe 0x433e29
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42fa5d
jmp 0x433e29
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x43395f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43395f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x433968
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433982
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp dword [eax*4 + 0x455310], edi
mov edi, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433920
jmp 0x433e26
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433a23
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433a23
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x433a2c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433a46
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x4339e0
jmp 0x433e26
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433ae3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433ae3
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x433aec
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433b06
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456248]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433aa0
jmp 0x433e26
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433ba3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433ba3
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x433bac
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433bc6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x433bed
cmp eax, 3
je 0x433bed
xor eax, eax
jmp 0x433bf2
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433b60
jmp 0x433e26
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433c73
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433c73
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x433cb6
je case.0x433cd2.8192
cmp ecx, 0x85
ja 0x433ca2
je case.0x433cd2.8192
cmp ecx, 9
jb case.0x433cd2.8203
cmp ecx, 0xd
jbe case.0x433cd2.8192
cmp ecx, 0x20
jmp 0x433ce7
cmp ecx, 0xa0
je case.0x433cd2.8192
cmp ecx, 0x1680
jmp 0x433ce7
cmp ecx, 0x202f
ja 0x433cd9
je case.0x433cd2.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x433cd2.8203
movzx eax, byte [eax + 0x437ef4]
jmp dword [eax*4 + 0x437eec]
cmp ecx, 0x205f
je case.0x433cd2.8192
cmp ecx, 0x3000
je case.0x433cd2.8192
mov eax, ecx
test eax, eax
jns 0x433cf2
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433d0c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp dword [eax*4 + 0x455310], 6
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x433e26
jmp 0x433d40
cmp dword [ebp - 0x40], 0
jne 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433c30
jmp 0x433e26
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x433e3e
cmp dword [ebp - 0x20], 0
movzx edx, word [ebx]
je 0x433db3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433db3
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
test eax, eax
jns 0x433dbc
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x433dd7
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x433e03
cmp eax, 3
je 0x433e03
cmp edx, 0x5f
je 0x433e03
xor eax, eax
jmp 0x433e08
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x433e23
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + esi*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433d70
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x43512c
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x433e5f
cmp ebx, dword [esi + 0x60]
jbe 0x433e5f
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
mov edi, dword [ebp - 0x3c]
jmp 0x433e29
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop
mov esi, 1
cmp ebx, edi
jae 0x433e3e
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433eaf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433eaf
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [ebp - 0x54]
mov edx, dword [eax*4 + 0x456108]
lea eax, [eax*4 + 0x456108]
cmp ecx, edx
jb 0x433ed1
lea eax, [eax + 4]
cmp ecx, edx
je 0x433ef2
mov edx, dword [eax]
cmp ecx, edx
jae 0x433ec4
cmp dword [ebp - 0x40], 0
je 0x433e23
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + esi*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433e70
jmp 0x433e23
cmp dword [ebp - 0x40], 0
jne 0x433e23
jmp 0x433edb
cmp esi, edx
jge 0x433e26
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x4338e4
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433f53
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433f53
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x433f7e
cmp ecx, 0x40
je 0x433f7e
cmp ecx, 0x60
je 0x433f7e
cmp ecx, 0xa0
jb 0x433f72
cmp ecx, 0xd7ff
jbe 0x433f7e
cmp ecx, 0xe000
jae 0x433f7e
xor eax, eax
jmp 0x433f83
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x433e26
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x433f10
jmp 0x433e26
mov eax, dword [ebp - 0x38]
cmp eax, 0x16
jne 0x434143
cmp esi, edx
mov esi, dword [ebp - 0x14]
jge 0x43412e
nop
mov edi, dword [esi + 0x54]
cmp ebx, edi
jae 0x43410d
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x434007
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x434007
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, ecx
test eax, eax
jns 0x434010
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x43402a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx esi, byte [eax*8 + 0x45624a]
cmp ebx, edi
jae 0x4340d7
cmp dword [ebp - 0x20], 0
mov edx, 1
movzx ecx, word [ebx]
je 0x43407f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43407f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x434088
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4340a2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx ecx, byte [eax*8 + 0x45624a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552d8], eax
je 0x4340d1
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp ebx, edi
jb 0x434044
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4340fc
cmp ebx, edi
jb 0x4340fc
cmp ebx, dword [esi + 0x60]
jbe 0x4340fc
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x433fc0
jmp 0x43412b
cmp word [esi + 0x40], 0
je 0x43412b
cmp ebx, dword [esi + 0x60]
jbe 0x43412b
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x48], 0
je 0x435188
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
add eax, 0xfffffffa
cmp dword [ebp - 0x20], 0
je 0x4348c1
cmp eax, 0xf
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437f20]
cmp esi, edx
mov esi, dword [ebp - 0x14]
jge 0x4341a4
lea edi, [ebx + 2]
nop word [eax + eax]
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x434272
mov eax, dword [esi + 0x8c]
add esi, 0x90
test eax, eax
je 0x4341b9
push dword [ebp - 0x20]
push esi
push ecx
push eax
push ebx
call fcn.0043ac80
add esp, 0x14
test eax, eax
je 0x4341ec
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x4352f9
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4341ec
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x4341ec
cmp edx, 1
je 0x4348b0
mov ax, word [edi]
cmp ax, word [ecx + 0x96]
je 0x4348b0
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x43422c
cmp edi, dword [eax + 0x54]
jb 0x43422c
cmp dword [eax + 0x8c], 0
jne 0x43422c
cmp dword [esi], 2
jne 0x43422c
mov esi, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [esi + 0x94]
jne 0x43422e
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x43422e
mov esi, eax
add ebx, 2
add edi, 2
mov dword [ebp - 0x18], ebx
cmp ebx, dword [esi + 0x54]
jae 0x43425a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x43425a
add ebx, 2
add edi, 2
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434170
mov edi, dword [ebp - 0x3c]
jmp 0x4341a4
cmp word [esi + 0x40], 0
je 0x434290
cmp ebx, dword [esi + 0x60]
jbe 0x434290
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
mov edi, dword [ebp - 0x3c]
jmp 0x4341a4
cmp edx, 0x7fffffff
jge 0x434309
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop
cmp ebx, ecx
jae 0x4342db
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
jae 0x4342d1
mov ax, word [ebx]
and ax, word [ebp - 0x6c]
cmp ax, word [ebp - 0x60]
jne 0x4342d1
add ebx, 2
mov dword [ebp - 0x18], ebx
inc esi
cmp esi, edx
jl 0x4342b0
jmp 0x4341a1
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4341a4
cmp ebx, dword [esi + 0x60]
jbe 0x4341a4
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x4341a4
mov esi, dword [ebp - 0x14]
mov ebx, dword [esi + 0x54]
cmp word [esi + 0x40], 0
mov dword [ebp - 0x18], ebx
je 0x4341a4
cmp ebx, dword [esi + 0x60]
jbe 0x4341a4
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x4341a4
sub edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x54]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x434353
mov ebx, ecx
jmp 0x43430f
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x18], ebx
jmp 0x4341a4
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4343ad
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0xd
jne 0x4343cb
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, esi
jae 0x4341a1
cmp word [ebx], 0xa
jne 0x43440a
add ebx, 2
jmp 0x434407
cmp ecx, 0xa
je 0x434404
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je 0x4348ba
cmp ecx, 0xb
je 0x434404
cmp ecx, 0xc
je 0x434404
cmp ecx, 0x85
je 0x434404
cmp ecx, 0x2028
je 0x434404
cmp ecx, 0x2029
jne 0x4348ba
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434370
jmp 0x4341a1
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4341a4
cmp ebx, dword [esi + 0x60]
jbe 0x4341a4
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42fa5d
jmp 0x4341a4
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43448f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x4344b5
je 0x4344e3
cmp ecx, 0xa0
ja 0x4344ad
je 0x4344e3
cmp ecx, 9
je 0x4344e3
cmp ecx, 0x20
jmp 0x4344dd
cmp ecx, 0x1680
jmp 0x4344dd
cmp ecx, 0x205f
ja 0x4344d7
je 0x4344e3
cmp ecx, 0x2000
jb 0x4344df
cmp ecx, 0x200a
jbe 0x4344e3
cmp ecx, 0x202f
jmp 0x4344dd
cmp ecx, 0x3000
je 0x4344e3
xor ecx, ecx
jmp 0x4344e8
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x38], 0x12
sete al
cmp ecx, eax
je 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434456
jmp 0x4341a1
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43455f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x43459d
je 0x4345a8
cmp ecx, 0xa
jb 0x434573
cmp ecx, 0xd
jbe 0x4345a8
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x38], 0x14
sete al
cmp ecx, eax
je 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434522
jmp 0x4341a1
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x434573
mov ecx, 1
jmp 0x434575
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4345fd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x434615
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x4345c0
jmp 0x4341a1
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43467d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4341a1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434640
jmp 0x4341a1
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4346fd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x434715
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x4346c0
jmp 0x4341a1
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43477d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4341a1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434740
jmp 0x4341a1
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4347fd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x434815
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x4347c0
jmp 0x4341a1
cmp esi, edx
jge 0x4341a1
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x43441f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43487d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4341a1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x4341a1
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + edx*2]
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x434840
jmp 0x4341a1
mov edi, dword [ebp - 0x3c]
mov esi, ecx
jmp 0x4341a4
mov esi, eax
jmp 0x4341a4
cmp eax, 0xf
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437f60]
cmp esi, edx
mov esi, dword [ebp - 0x14]
jge 0x434a53
nop dword [eax]
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x434a6b
mov eax, dword [esi + 0x8c]
add esi, 0x90
test eax, eax
je 0x434954
push 0
push esi
push ecx
push eax
push ebx
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne 0x434a50
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je 0x434987
lea eax, [ebx + 2]
cmp eax, dword [ecx + 0x54]
jb 0x434987
cmp dword [ecx + 0x8c], 0
jne 0x434987
cmp dword [esi], 2
mov esi, dword [ebp - 0x14]
jne 0x43498a
mov ax, word [ebx]
cmp ax, word [esi + 0x94]
jne 0x43498a
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x43498a
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x434911
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x434914
cmp edx, 1
je 0x434980
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x96]
jne 0x434914
mov esi, ecx
jmp 0x434a53
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
add ebx, 2
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x30]
jl 0x4348e0
jmp 0x434a53
sub edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x54]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x4349e4
cmp word [esi + 0x40], 0
mov ebx, ecx
mov dword [ebp - 0x18], ebx
je 0x434a53
cmp ebx, dword [esi + 0x60]
jbe 0x434a53
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x434a53
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x18], ebx
jmp 0x434a53
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x434a68
movzx eax, word [ebx]
cmp eax, 0xd
jne 0x434a14
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
jae 0x434a50
cmp word [ebx], 0xa
jne 0x434a4b
jmp 0x434a45
cmp eax, 0xa
je 0x434a45
mov edi, dword [ebp - 0x14]
cmp word [edi + 0x42], 2
mov edi, dword [ebp - 0x3c]
je 0x434a50
cmp eax, 0xb
je 0x434a45
cmp eax, 0xc
je 0x434a45
cmp eax, 0x85
je 0x434a45
cmp eax, 0x2028
je 0x434a45
cmp eax, 0x2029
jne 0x434a50
add ebx, 2
mov dword [ebp - 0x18], ebx
inc esi
cmp esi, edx
jl 0x4349f6
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x435373
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42e833
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x434a53
cmp ebx, dword [esi + 0x60]
jbe 0x434a53
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42fa5d
jmp 0x434a53
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x434a68
movzx eax, word [ebx]
cmp eax, 0x180e
jg 0x434abf
je 0x434a50
cmp eax, 0xa0
jg 0x434ab8
je 0x434a50
cmp eax, 9
je 0x434a50
cmp eax, 0x20
jmp 0x434ae6
cmp eax, 0x1680
jmp 0x434ae6
cmp eax, 0x205f
jg 0x434ae1
je 0x434a50
cmp eax, 0x2000
jl 0x434aec
cmp eax, 0x200a
jle 0x434a50
cmp eax, 0x202f
jmp 0x434ae6
cmp eax, 0x3000
je 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434a95
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop word [eax + eax]
cmp ebx, ecx
jae 0x434a68
movzx eax, word [ebx]
cmp eax, 0x180e
jg 0x434b3e
je 0x434b6b
cmp eax, 0xa0
jg 0x434b37
je 0x434b6b
cmp eax, 9
je 0x434b6b
cmp eax, 0x20
jmp 0x434b65
cmp eax, 0x1680
jmp 0x434b65
cmp eax, 0x205f
jg 0x434b60
je 0x434b6b
cmp eax, 0x2000
jl 0x434a50
cmp eax, 0x200a
jle 0x434b6b
cmp eax, 0x202f
jmp 0x434b65
cmp eax, 0x3000
jne 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434b10
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, ecx
jae 0x434a68
movzx eax, word [ebx]
cmp eax, 0x85
jg 0x434bb2
je 0x434a50
cmp eax, 0xa
jl 0x434bc4
cmp eax, 0xd
jmp 0x434bbe
cmp eax, 0x2028
jl 0x434bc4
cmp eax, 0x2029
jle 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434b90
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x434a68
movzx eax, word [ebx]
cmp eax, 0x85
jg 0x434bfe
je 0x434c0c
add eax, 0xfffffff6
cmp eax, 3
jmp 0x434c06
add eax, 0xffffdfd8
cmp eax, 1
ja 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434be2
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop word [eax + eax]
cmp ebx, edx
jae 0x434a68
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434c57
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434c30
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434a68
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434a50
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434c76
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434a68
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434ce7
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434cc0
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434a68
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434a50
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434d06
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434a68
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434d77
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434d50
jmp 0x434a50
cmp esi, edx
jge 0x434a50
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434a68
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434a50
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x434a50
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434d96
jmp 0x434a50
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp - 0x14]
inc eax
cmp word [edx], 0x7b
push eax
push dword [ebp - 0x34]
push esi
push ecx
push edi
jne 0x434e08
lea eax, [edx + 4]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x434f40
push dword [ebp - 0x44]
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov edx, dword [ebp - 0x1c]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x434f40
cmp dword [ebp - 0x30], 0x8d
je 0x43551c
mov esi, dword [ebp - 0x14]
jmp 0x434f40
mov eax, dword [ebp + 0x20]
inc eax
cmp word [edx], 0x7b
push eax
push dword [ebp - 0x34]
push esi
mov esi, dword [ebp - 0x18]
push edi
push dword [ebp - 0x2c]
jne 0x434e98
lea eax, [edx + 4]
push eax
push esi
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
movzx eax, word [ebx]
mov ecx, 0x82
cmp ax, cx
je 0x435623
mov ecx, 0x89
cmp ax, cx
jae 0x4355f9
mov esi, dword [ebp - 0x14]
mov edx, ebx
mov dword [ebp - 0x1c], edx
jmp 0x434f40
push ebx
push esi
call fcn.0042e760
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x434eb7
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0x70], ebx
jne 0x437b12
jmp 0x434ec2
test eax, eax
jne 0x437b12
mov edi, dword [ebp - 0x14]
mov eax, 0x82
cmp word [ebx], ax
je 0x435660
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x434f40
cmp eax, ebx
jbe 0x434f3d
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x28]
inc esi
jmp 0x434ef3
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push edi
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ecx, dword [ebp - 0x18]
mov edx, 0xfc00
sub ecx, 2
mov dword [ebp - 0x18], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x434f36
sub ecx, 2
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
ja 0x434ef0
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
shr edi, 0x13
and edi, 1
mov dword [ebp - 0x20], edi
cmp eax, dword [esi + 0x10]
jae 0x437b0a
mov ecx, dword [ebp - 0x34]
jmp 0x42e7d8
cmp eax, ebx
je 0x434f3d
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x28]
inc esi
jmp 0x434f73
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push edi
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
mov ecx, dword [ebp - 0x18]
add esp, 0x1c
sub ecx, 2
mov dword [ebp - 0x18], ecx
test eax, eax
jne 0x437b12
cmp ecx, ebx
jne 0x434f70
jmp 0x434f3a
cmp eax, edi
je 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x434fb3
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
mov ebx, dword [ebp - 0x18]
add esp, 0x1c
sub ebx, 2
mov dword [ebp - 0x18], ebx
test eax, eax
jne 0x437b12
cmp ebx, edi
jne 0x434fb0
jmp 0x434f3a
cmp eax, edi
jbe 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x434ff7
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
mov ecx, 0xfc00
sub ebx, 2
mov dword [ebp - 0x18], ebx
mov ax, word [ebx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x43503c
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x434ff4
jmp 0x434f3a
cmp eax, edi
je 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x435056
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov eax, dword [ebp - 0x18]
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, edi
jne 0x435053
jmp 0x434f3a
cmp eax, edi
jbe 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x43509a
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
mov ecx, 0xfc00
sub ebx, 2
mov dword [ebp - 0x18], ebx
mov ax, word [ebx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4350df
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x435097
jmp 0x434f3a
cmp eax, edi
je 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x4350f9
mov eax, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov eax, dword [ebp - 0x18]
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, edi
jne 0x4350f6
jmp 0x434f3a
cmp ebx, edi
jbe 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], eax
je 0x43517f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x43517f
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x435138
jmp 0x434f3a
cmp ebx, edi
jbe 0x434f3d
mov ebx, dword [ebp + 0x20]
inc ebx
push ebx
push dword [ebp - 0x34]
push esi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
sub edx, 2
mov dword [ebp - 0x18], edx
test esi, esi
jne 0x4351ca
movzx ecx, word [edx]
jmp 0x435210
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4351e5
sub edx, 2
mov dword [ebp - 0x18], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435210
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x435219
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x435233
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx edi, byte [eax*8 + 0x45624a]
cmp edx, dword [ebp - 0x3c]
jbe 0x434f3a
add edx, 0xfffffffe
test esi, esi
jne 0x43525a
movzx ecx, word [edx]
jmp 0x43529d
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x435272
sub edx, 2
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43529d
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x4352a6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4352c0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, edi
movzx eax, word [eax*2 + 0x459ac8]
movzx esi, byte [eax*8 + 0x45624a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552d8], eax
je 0x4352f1
mov edi, esi
mov dword [ebp - 0x18], edx
mov esi, dword [ebp - 0x20]
jmp 0x435245
mov esi, dword [ebp - 0x14]
jmp 0x435194
cmp ebx, edi
jbe 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ax, word [ebx - 2]
sub ebx, 2
mov ecx, 0xfc00
mov dword [ebp - 0x18], ebx
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x435348
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x38], 0x11
jne 0x43536a
cmp ebx, edi
jbe 0x434f3a
cmp word [ebx], 0xa
jne 0x43536a
cmp word [ebx - 2], 0xd
lea eax, [ebx - 2]
cmove ebx, eax
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x435305
jmp 0x434f3a
cmp ebx, edi
je 0x434f3d
mov esi, dword [ebp + 0x20]
inc esi
nop
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
sub ebx, 2
cmp dword [ebp - 0x38], 0x11
mov dword [ebp - 0x18], ebx
jne 0x4353c5
cmp ebx, edi
jbe 0x4353c7
cmp word [ebx], 0xa
jne 0x4353c5
cmp word [ebx - 2], 0xd
lea eax, [ebx - 2]
cmove ebx, eax
mov dword [ebp - 0x18], ebx
cmp ebx, edi
jne 0x435380
jmp 0x434f3a
mov eax, dword [ebp - 0x1c]
movzx edx, word [eax + 4]
mov dword [ebp - 0x44], edx
lea ebx, [edx + edx]
mov dword [ebp - 0x5c], ebx
cmp ebx, dword [esi + 0x34]
jb 0x43766a
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
nop dword [eax]
cmp edx, 0x89
jae 0x435429
cmp edx, 0x82
je 0x435429
cmp dword [esi + 0x1c], 0
mov edx, dword [ebp - 0x1c]
jne 0x435433
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
je 0x435433
movzx eax, word [edx]
movzx eax, byte [eax + 0x455178]
lea edx, [edx + eax*2]
mov dword [ebp - 0x1c], edx
jmp 0x434f40
or dword [esi + 0x88], 2
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x14]
inc eax
mov esi, dword [esi + 0x68]
push eax
push dword [ebp - 0x34]
movzx eax, word [edx]
mov edi, dword [ecx + 0x7c]
push ecx
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [edx + eax*2]
push eax
push ebx
call fcn.0042e760
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc20
jne 0x435497
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x58], eax
jae 0x4377c4
mov ecx, dword [ebp - 0x1c]
cmp word [ecx], 0x78
je 0x4354a2
cmp word [eax], 0x78
jne 0x4377c4
jmp 0x4354a2
test edx, edx
jne 0x437785
mov ecx, dword [ebp - 0x1c]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov dword [eax + 0x68], esi
cmp word [ecx], 0x78
jne case.0x42e85c.159
mov edx, dword [ebp - 0x30]
mov esi, eax
mov dword [esi + 0x7c], edi
jmp 0x4353f0
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp - 0x34]
push esi
movzx ecx, byte [eax + 0x455178]
movzx eax, word [edi + 2]
push dword [ebp - 0x28]
add ecx, eax
push dword [ebp - 0x2c]
lea eax, [edi + ecx*2]
push eax
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
lea eax, [edi + 4]
pop edi
mov dword [esi + 0x58], eax
mov eax, 0xfffffc1f
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x14]
inc eax
push eax
push dword [ebp - 0x34]
or dword [ecx + 0x88], 2
push ecx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edx
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
sub eax, 1
je case.0x42e85c.159
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
xor esi, esi
mov eax, dword [ebp - 0x80]
mov dword [edx + 0xa0], eax
mov ecx, dword [ebp - 0x78]
mov eax, dword [edx + 0xa4]
add ecx, 0xfffffffc
mov dword [ecx], eax
mov dword [edx + 0xa4], ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0x5c], eax
mov dword [ecx + 0x58], edx
cmp eax, dword [ecx + 0x64]
jbe 0x4355e3
mov dword [ecx + 0x64], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push edi
push dword [ebp - 0x2c]
push ebx
push esi
call fcn.0042e760
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc eax
push eax
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push ebx
push esi
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
push edi
push dword [ebp - 0x28]
add eax, 4
push dword [ebp - 0x2c]
push eax
push esi
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
lea eax, [edx + 4]
push esi
push edi
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
pop edi
mov dword [esi + 0x70], ebx
mov eax, 0xfffffc1b
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x3c], edi
cmp eax, dword [esi + 0x64]
jbe 0x4356f4
mov dword [esi + 0x64], eax
pop edi
pop esi
mov eax, 0xfffffc1a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x3c], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [esi + 0x58], ecx
cmp eax, dword [esi + 0x64]
jbe 0x435724
mov dword [esi + 0x64], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
jmp 0x42fba6
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x42e85c.159
cmp ebx, dword [eax + 0x60]
jbe case.0x42e85c.159
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
jbe case.0x42e85c.159
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x40], 0
je case.0x42e85c.159
cmp eax, dword [esi + 0x60]
jbe case.0x42e85c.159
jmp 0x42fa4b
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x14]
jle 0x4357ba
mov eax, dword [ecx + 0x54]
jmp 0x4357bd
mov eax, dword [ebp - 0x18]
cmp word [ecx + 0x40], 0
je case.0x42e85c.159
cmp eax, dword [ecx + 0x54]
jb case.0x42e85c.159
cmp eax, dword [ecx + 0x60]
jbe case.0x42e85c.159
mov dword [ecx + 0x18], 1
cmp word [ecx + 0x40], 1
jmp 0x42fa57
mov eax, dword [ebp - 0x14]
mov edi, 1
mov dword [ebp - 0x60], ecx
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + esi*4 + 4]
sub ecx, dword [eax + esi*4]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x4c], edx
jge 0x435938
nop
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x14]
push ecx
push dword [ebp - 0x28]
push esi
call fcn.00438080
add esp, 0x18
test eax, eax
jne 0x43584a
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp eax, dword [ebp - 0x44]
cmovne edi, ecx
mov ecx, dword [ebp - 0x18]
inc ebx
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x18], ecx
cmp ebx, dword [ebp - 0x38]
jl 0x435810
mov edx, dword [ebp - 0x14]
jmp 0x435873
mov edx, dword [ebp - 0x14]
jle 0x435870
cmp word [edx + 0x40], 0
je 0x435870
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x60]
jbe 0x435870
mov dword [edx + 0x18], 1
cmp word [edx + 0x40], 1
ja 0x42fa5d
mov ecx, dword [ebp - 0x18]
test edi, edi
je 0x435887
mov ebx, dword [ebp - 0x60]
cmp ecx, ebx
jb case.0x42e85c.159
jmp 0x43593b
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
push edx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
mov edx, eax
add esp, 0x1c
test edx, edx
jne 0x437772
mov eax, dword [ebp - 0x4c]
mov ecx, ebx
sub ecx, eax
mov edx, dword [ebp - 0x60]
cmp dword [ebp - 0x18], edx
je case.0x42e85c.159
dec ebx
mov dword [ebp - 0x18], edx
dec ecx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x68], ecx
cmp eax, ebx
jge 0x4358fc
mov ebx, dword [ebp - 0x3c]
mov edi, ecx
lea eax, [ebp - 0x58]
push eax
push ebx
push dword [ebp - 0x14]
push edx
push dword [ebp - 0x28]
push esi
call fcn.00438080
mov edx, dword [ebp - 0x18]
add esp, 0x18
mov eax, dword [ebp - 0x58]
lea edx, [edx + eax*2]
mov dword [ebp - 0x18], edx
sub edi, 1
jne 0x4358d3
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
mov ecx, dword [ebp - 0x68]
mov edx, eax
mov eax, dword [ebp - 0x4c]
add esp, 0x1c
test edx, edx
je 0x4358b3
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x60]
mov esi, dword [ebp + 0x20]
inc esi
nop
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x18]
neg eax
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
jae 0x435940
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
jle 0x43598b
mov ebx, dword [edi + 0x54]
cmp word [edi + 0x40], 0
je case.0x42e85c.159
cmp ebx, dword [edi + 0x54]
jb case.0x42e85c.159
cmp ebx, dword [edi + 0x60]
jbe case.0x42e85c.159
mov dword [edi + 0x18], 1
cmp word [edi + 0x40], 1
jmp 0x42fa57
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x42e85c.159
jmp 0x4357d1
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ecx, dword [ebp - 0x18]
mov eax, ecx
sub ecx, 2
mov dword [ebp - 0x18], ecx
cmp eax, ebx
je case.0x42e85c.159
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x435a0c
sub ecx, 2
mov dword [ebp - 0x18], ecx
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x4359e2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp eax, ebx
jb case.0x42e85c.159
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov eax, dword [ebp - 0x18]
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, ebx
jae 0x435a44
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
cmp dword [ebp - 0x20], 0
je 0x435b95
test eax, eax
jne 0x437b12
mov edi, dword [ebp - 0x38]
nop dword [eax]
cmp edi, dword [ebp - 0x24]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x54]
jae 0x435b70
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 0x18], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435b0e
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0x18], ecx
cmp edx, 0xff
jbe 0x435b22
cmp dword [ebp - 0x30], 0x6e
je case.0x42e85c.159
jmp 0x435b3d
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e85c.159
mov ecx, dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
inc edi
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x435ac0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [eax + 0x40], 0
je case.0x42e85c.159
cmp ecx, dword [eax + 0x60]
jbe case.0x42e85c.159
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
jmp 0x42fa57
test eax, eax
jne 0x437b12
mov edi, dword [ebp - 0x38]
cmp edi, dword [ebp - 0x24]
jge case.0x42e85c.159
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x54]
jae 0x4359b0
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
cmp edx, 0xff
jbe 0x435bd5
cmp dword [ebp - 0x30], 0x6e
je case.0x42e85c.159
jmp 0x435bf3
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e85c.159
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
push esi
push dword [ebp - 0x34]
inc edi
push ecx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x435ba0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ecx, dword [ebp - 0x18]
mov eax, ecx
sub ecx, 2
mov dword [ebp - 0x18], ecx
cmp eax, ebx
je case.0x42e85c.159
cmp dword [ebp - 0x20], 0
je 0x435c7a
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x435c7a
sub ecx, 2
mov dword [ebp - 0x18], ecx
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x435c46
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
nop dword [eax]
cmp edi, dword [ebp - 0x38]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x54]
jae 0x435d6e
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x435d24
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435d24
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
push dword [ebp - 0x20]
push ebx
push ecx
call fcn.0043c1f0
add esp, 0xc
test eax, eax
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc edi
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x435cd0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [eax + 0x40], 0
je case.0x42e85c.159
cmp edx, dword [eax + 0x60]
jmp 0x435b7e
cmp word [esi + 0x40], 0
je case.0x42e85c.159
cmp ebx, dword [esi + 0x54]
jb case.0x42e85c.159
cmp ebx, dword [esi + 0x60]
jbe case.0x42e85c.159
jmp 0x42fa4b
cmp word [esi + 0x40], 0
je case.0x42e85c.159
jmp 0x435d95
cmp word [esi + 0x40], 0
je case.0x42e85c.159
cmp eax, dword [esi + 0x60]
jmp 0x435d98
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x42e85c.159
mov eax, dword [ebp - 0x18]
jmp 0x4357c8
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
lea ebx, [edi + edi]
mov dword [ebp - 0x58], ebx
cmp esi, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edi, dword [eax + 0x54]
mov eax, edi
sub eax, ebx
cmp ecx, eax
ja 0x435e77
mov edx, dword [ebp - 0x44]
mov esi, ebx
sub esi, 4
jb 0x435e38
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x435e3d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x435e27
cmp esi, 0xfffffffc
je 0x435e6a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x435e74
cmp esi, 0xfffffffd
je 0x435e6a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x435e74
cmp esi, 0xfffffffe
je 0x435e6a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x435e74
cmp esi, 0xffffffff
je 0x435e6a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x435e74
mov edi, dword [ebp - 0x18]
add edi, ebx
jmp 0x435eec
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
test eax, eax
jle 0x435f2c
lea ebx, [eax + eax]
sub edi, ebx
cmp ecx, edi
mov edi, dword [ebp - 0x18]
ja 0x435f2f
mov esi, ebx
lea edx, [ebp - 0x10]
mov ecx, edi
sub esi, 4
jb 0x435eb1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x435eb6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x435ea0
cmp esi, 0xfffffffc
je 0x435ee7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x435f2f
cmp esi, 0xfffffffd
je 0x435ee7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x435f2f
cmp esi, 0xfffffffe
je 0x435ee7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x435f2f
cmp esi, 0xffffffff
je 0x435ee7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x435f2f
add edi, ebx
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp - 0x38]
inc eax
push eax
push dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x18], edi
push dword [ebp - 0x14]
mov dword [ebp - 0x38], esi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edi
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x435e03
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x42e85c.159
cmp edi, dword [eax + 0x54]
jb case.0x42e85c.159
cmp edi, dword [eax + 0x60]
jmp 0x435b7e
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push eax
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x50]
nop word [eax + eax]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x54]
jae 0x435d6e
movzx eax, word [edx]
cmp ebx, eax
je 0x435faa
cmp edi, eax
jne case.0x42e85c.159
push esi
push dword [ebp - 0x34]
add edx, 2
inc ecx
push dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
push dword [ebp - 0x28]
mov dword [ebp - 0x38], ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x435f80
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edi
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x50]
nop word [eax + eax]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x14]
cmp edi, dword [edx + 0x54]
jae 0x436062
movzx eax, word [edi]
add edi, 2
cmp ebx, eax
jne case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ecx
push edx
push dword [ebp - 0x28]
mov dword [ebp - 0x38], ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edi
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436010
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [edx + 0x40], 0
je case.0x42e85c.159
cmp edi, dword [edx + 0x60]
jbe case.0x42e85c.159
mov dword [edx + 0x18], 1
cmp word [edx + 0x40], 1
jmp 0x42fa57
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
test ecx, ecx
je 0x436144
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
cmp ebx, dword [ebp - 0x38]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x54]
jae 0x435d6e
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp - 0x18], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436104
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x30], ecx
je case.0x42e85c.159
cmp edi, ecx
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x4360b6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
cmp ebx, dword [ebp - 0x38]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [edx + 0x54]
jae 0x4361af
movzx eax, word [ecx]
cmp dword [ebp - 0x30], eax
je case.0x42e85c.159
cmp edi, eax
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
add ecx, 2
inc ebx
push edx
push dword [ebp - 0x28]
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436154
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [edx + 0x40], 0
je case.0x42e85c.159
cmp ecx, dword [edx + 0x60]
jmp 0x436070
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edi
test ecx, ecx
je 0x43626b
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
nop
cmp ebx, dword [ebp - 0x38]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x14]
cmp edi, dword [edx + 0x54]
jae 0x436062
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436235
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x30], ecx
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edi
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x4361f0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x38]
jge case.0x42e85c.159
mov ecx, dword [ebp - 0x14]
cmp edi, dword [ecx + 0x54]
jae 0x4362cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x30], eax
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push ecx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edi
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436280
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [ecx + 0x40], 0
je case.0x42e85c.159
cmp edi, dword [ecx + 0x60]
jmp 0x4357d4
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x42e85c.159
cmp ebx, dword [eax + 0x60]
jmp 0x435b7e
cmp word [edx + 0x40], 0
je case.0x42e85c.159
cmp ebx, dword [edx + 0x60]
jmp 0x436070
test eax, eax
js 0x436d2b
cmp eax, 0xa
ja case.default.0x4307ca
jmp dword [eax*4 + 0x437fa0]
mov esi, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x14]
inc esi
mov edi, dword [ebp - 0x1c]
push esi
push dword [ebp - 0x34]
push ebx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edi
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
nop dword [eax + eax]
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebx + 0x54]
jae 0x4363bd
movzx eax, word [ecx]
add ecx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ecx
je 0x436385
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436385
add ecx, 2
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x40], 0
jne case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc edx
push ebx
push dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
push dword [ebp - 0x2c]
push edi
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436350
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [ebx + 0x40], 0
je case.0x42e85c.159
cmp ecx, dword [ebx + 0x60]
jbe case.0x42e85c.159
mov dword [ebx + 0x18], 1
cmp word [ebx + 0x40], 1
jmp 0x42fa57
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436461
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436461
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x43646a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436484
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp eax, 9
je 0x4364a9
cmp eax, 5
je 0x4364a9
cmp eax, 8
je 0x4364a9
xor eax, eax
jmp 0x4364ae
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436410
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp word [edi + 0x40], 0
je case.0x42e85c.159
cmp edx, dword [edi + 0x60]
jmp 0x43599a
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436571
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436571
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x43657a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436594
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp dword [eax*4 + 0x455310], edi
mov edi, dword [ebp - 0x14]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436524
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436671
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436671
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x43667a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436694
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436620
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436762
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436762
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x43676b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436785
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456248]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436711
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436853
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436853
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x43685c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436876
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x43689d
cmp eax, 3
je 0x43689d
xor eax, eax
jmp 0x4368a2
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436802
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436956
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436956
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
cmp ecx, 0x180e
ja 0x436999
je case.0x4369b9.8192
cmp ecx, 0x85
ja 0x436985
je case.0x4369b9.8192
cmp ecx, 9
jb case.0x4369b9.8203
cmp ecx, 0xd
jbe case.0x4369b9.8192
cmp ecx, 0x20
jmp 0x4369ce
cmp ecx, 0xa0
je case.0x4369b9.8192
cmp ecx, 0x1680
jmp 0x4369ce
cmp ecx, 0x202f
ja 0x4369c0
je case.0x4369b9.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x4369b9.8203
movzx eax, byte [eax + 0x437fd4]
jmp dword [eax*4 + 0x437fcc]
cmp ecx, 0x205f
je case.0x4369b9.8192
cmp ecx, 0x3000
je case.0x4369b9.8192
mov eax, ecx
test eax, eax
jns 0x4369d9
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4369f3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
cmp dword [eax*4 + 0x455310], 6
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e85c.159
jmp 0x436a27
cmp dword [ebp - 0x40], 0
jne case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436905
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
cmp edi, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae 0x4362e3
movzx edx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
je 0x436ace
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436ace
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
test eax, eax
jns 0x436ad7
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578c8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x436af2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ac8]
movzx eax, byte [eax*8 + 0x456249]
mov eax, dword [eax*4 + 0x455310]
cmp eax, 1
je 0x436b1e
cmp eax, 3
je 0x436b1e
cmp edx, 0x5f
je 0x436b1e
xor eax, eax
jmp 0x436b23
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc edi
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436a83
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
nop word [eax + eax]
cmp edi, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae 0x4362e3
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
je 0x436bdb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436bdb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, dword [ebp - 0x54]
mov edx, dword [eax*4 + 0x456108]
lea eax, [eax*4 + 0x456108]
cmp ecx, edx
jb 0x436bfd
lea eax, [eax + 4]
cmp ecx, edx
je 0x436c3a
mov edx, dword [eax]
cmp ecx, edx
jae 0x436bf0
cmp dword [ebp - 0x40], 0
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc edi
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436b90
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x40], 0
jne case.0x42e85c.159
jmp 0x436c07
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x14]
inc esi
push esi
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x24]
nop
cmp ebx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x4364e8
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436cc1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436cc1
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
cmp ecx, 0x24
je 0x436cec
cmp ecx, 0x40
je 0x436cec
cmp ecx, 0x60
je 0x436cec
cmp ecx, 0xa0
jb 0x436ce0
cmp ecx, 0xd7ff
jbe 0x436cec
cmp ecx, 0xe000
jae 0x436cec
xor eax, eax
jmp 0x436cf1
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc ebx
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436c70
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp edi, 0x16
jne 0x436ef2
mov ebx, dword [ebp + 0x20]
inc ebx
push ebx
push dword [ebp - 0x34]
mov dword [ebp - 0x58], ebx
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
nop dword [eax]
cmp esi, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov edi, dword [eax + 0x54]
cmp edx, edi
jae 0x435d6e
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436db6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436db6
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, ecx
test eax, eax
jns 0x436dbf
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436dd9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx esi, byte [eax*8 + 0x45624a]
cmp edx, edi
jae 0x436e96
mov ebx, dword [ebp - 0x18]
nop word [eax + eax]
cmp dword [ebp - 0x20], 0
mov edx, 1
movzx ecx, word [ebx]
je 0x436e3b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436e3b
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
test eax, eax
jns 0x436e44
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578c8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436e5e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ac8]
movzx ecx, byte [eax*8 + 0x45624a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552d8], eax
je 0x436e8d
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp ebx, edi
jb 0x436e00
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x436ebb
cmp edx, edi
jb 0x436ebb
cmp edx, dword [eax + 0x60]
jbe 0x436ebb
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
mov esi, dword [ebp - 0x24]
push ebx
push dword [ebp - 0x34]
inc esi
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x24], esi
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push edx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436d60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x20]
inc esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
call fcn.0042e760
add esp, 0x1c
test ebx, ebx
je 0x4372c8
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x4362e3
cmp edi, 0xc
jne 0x436fa4
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x436f69
push dword [ebp - 0x20]
add eax, 0x90
push eax
push ecx
push edx
push ebx
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne case.0x42e85c.159
jmp 0x436fa1
mov edx, dword [eax + 0x90]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x436fa1
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x436fa1
cmp edx, 1
je case.0x42e85c.159
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x96]
je case.0x42e85c.159
mov edx, dword [ebp - 0x24]
movzx eax, word [ebx]
add ebx, 2
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x436fd5
movzx ecx, word [ebx]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebx, 2
lea ecx, [edi - 6]
cmp ecx, 0xf
ja case.default.0x4307ca
jmp dword [ecx*4 + 0x438000]
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x436fe1.13
cmp ebx, dword [ecx + 0x54]
jb case.0x436fe1.13
cmp dword [ecx + 0x8c], 0
jne case.0x436fe1.13
cmp dword [ecx + 0x90], 2
jne case.0x436fe1.13
movzx ecx, word [ecx + 0x94]
cmp eax, ecx
jne case.0x436fe1.13
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
jmp case.0x436fe1.13
cmp eax, 0xd
ja 0x437075
je 0x437057
cmp eax, 0xa
je case.0x436fe1.13
add eax, 0xfffffff5
jmp 0x437081
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae case.0x436fe1.13
cmp word [ebx], 0xa
jne case.0x436fe1.13
add ebx, 2
jmp case.0x436fe1.13
cmp eax, 0x85
je 0x43708a
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
jmp 0x43728c
cmp eax, 0x180e
ja 0x4370cc
je case.0x42e85c.159
cmp eax, 0xa0
ja 0x4370c2
je case.0x42e85c.159
cmp eax, 9
je case.0x42e85c.159
cmp eax, 0x20
jmp 0x43728c
cmp eax, 0x1680
jmp 0x43728c
cmp eax, 0x205f
ja 0x4370f9
je case.0x42e85c.159
cmp eax, 0x2000
jb case.0x436fe1.13
cmp eax, 0x200a
jbe case.0x42e85c.159
cmp eax, 0x202f
jmp 0x43728c
cmp eax, 0x3000
jmp 0x43728c
cmp eax, 0x180e
ja 0x437144
je case.0x436fe1.13
cmp eax, 0xa0
ja 0x437134
je case.0x436fe1.13
cmp eax, 9
je case.0x436fe1.13
cmp eax, 0x20
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x1680
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x205f
ja 0x437177
je case.0x436fe1.13
cmp eax, 0x2000
jb case.0x42e85c.159
cmp eax, 0x200a
jbe case.0x436fe1.13
cmp eax, 0x202f
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x3000
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x85
ja 0x4371ab
je case.0x42e85c.159
cmp eax, 0xa
jb case.0x436fe1.13
cmp eax, 0xd
jbe case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x2028
jb case.0x436fe1.13
cmp eax, 0x2029
jbe case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x85
ja 0x4371e4
je case.0x436fe1.13
add eax, 0xfffffff6
cmp eax, 3
ja case.0x42e85c.159
jmp case.0x436fe1.13
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x100
jae case.0x436fe1.13
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 4
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x100
jae case.0x42e85c.159
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 4
jmp 0x43728c
cmp eax, 0x100
jae case.0x436fe1.13
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 1
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x100
jae case.0x42e85c.159
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 1
jmp 0x43728c
cmp eax, 0x100
jae case.0x436fe1.13
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 0x10
jne case.0x42e85c.159
jmp case.0x436fe1.13
cmp eax, 0x100
jae case.0x42e85c.159
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 0x10
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc edx
push dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x436f22
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x437b12
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
jge case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x4362e3
cmp edi, 0xc
jne 0x437354
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x437319
push 0
add eax, 0x90
push eax
push ecx
push edx
push ebx
call fcn.0043ac80
add esp, 0x14
test eax, eax
jne case.0x42e85c.159
jmp 0x437351
mov edx, dword [eax + 0x90]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x437351
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x437351
cmp edx, 1
je case.0x42e85c.159
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x96]
je case.0x42e85c.159
mov edx, dword [ebp - 0x24]
movzx ecx, word [ebx]
lea eax, [edi - 6]
add ebx, 2
cmp eax, 0xf
ja case.default.0x4307ca
jmp dword [eax*4 + 0x438040]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x437366.13
cmp ebx, dword [eax + 0x54]
jb case.0x437366.13
cmp dword [eax + 0x8c], 0
jne case.0x437366.13
cmp dword [eax + 0x90], 2
jne case.0x437366.13
movzx eax, word [eax + 0x94]
cmp ecx, eax
jne case.0x437366.13
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42fa5d
jmp case.0x437366.13
cmp ecx, 0xd
ja 0x4373fa
je 0x4373dc
cmp ecx, 0xa
je case.0x437366.13
lea eax, [ecx - 0xb]
jmp 0x437408
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae case.0x437366.13
cmp word [ebx], 0xa
jne case.0x437366.13
add ebx, 2
jmp case.0x437366.13
cmp ecx, 0x85
je 0x437411
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
jmp 0x43762e
cmp ecx, 0x180e
ja 0x437456
je case.0x42e85c.159
cmp ecx, 0xa0
ja 0x43744b
je case.0x42e85c.159
cmp ecx, 9
je case.0x42e85c.159
cmp ecx, 0x20
jmp 0x43762e
cmp ecx, 0x1680
jmp 0x43762e
cmp ecx, 0x205f
ja 0x437487
je case.0x42e85c.159
cmp ecx, 0x2000
jb case.0x437366.13
cmp ecx, 0x200a
jbe case.0x42e85c.159
cmp ecx, 0x202f
jmp 0x43762e
cmp ecx, 0x3000
jmp 0x43762e
cmp ecx, 0x180e
ja 0x4374d6
je case.0x437366.13
cmp ecx, 0xa0
ja 0x4374c5
je case.0x437366.13
cmp ecx, 9
je case.0x437366.13
cmp ecx, 0x20
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0x1680
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0x205f
ja 0x43750d
je case.0x437366.13
cmp ecx, 0x2000
jb case.0x42e85c.159
cmp ecx, 0x200a
jbe case.0x437366.13
cmp ecx, 0x202f
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0x3000
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0x85
ja 0x437543
je case.0x42e85c.159
cmp ecx, 0xa
jb case.0x437366.13
cmp ecx, 0xd
jbe case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0x2028
jb case.0x437366.13
cmp ecx, 0x2029
jbe case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0x85
ja 0x43757f
je case.0x437366.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x42e85c.159
jmp case.0x437366.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0xff
ja case.0x437366.13
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0xff
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jmp 0x43762e
cmp ecx, 0xff
ja case.0x437366.13
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0xff
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jmp 0x43762e
cmp ecx, 0xff
ja case.0x437366.13
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne case.0x42e85c.159
jmp case.0x437366.13
cmp ecx, 0xff
ja case.0x42e85c.159
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e85c.159
push esi
push dword [ebp - 0x34]
inc edx
push dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
je 0x4372d3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + ebx*4]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0x30]
mov esi, dword [esi + 0x7c]
sub eax, edx
mov edx, dword [ebp - 0x18]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov edi, dword [ebx + 0x68]
mov dword [ebp - 0x60], eax
mov eax, edx
sub eax, dword [ebx + 0x50]
mov ebx, dword [ebp + 0x20]
sar eax, 1
inc ebx
mov dword [ecx], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x30], 0x89
jb 0x4376b3
or dword [ecx + 0x88], 2
push ebx
push dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x455178]
lea eax, [ecx + eax*2]
push eax
push edx
call fcn.0042e760
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1b
je 0x437747
cmp edx, 0xfffffc20
jne 0x437716
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x58], eax
jae 0x437772
mov ecx, dword [ebp - 0x1c]
cmp word [ecx], 0x78
mov ecx, dword [ebp - 0x14]
je 0x437712
cmp word [eax], 0x78
jne 0x437772
xor edx, edx
jmp 0x43771d
test edx, edx
jne 0x437772
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x7c], esi
mov ecx, dword [ebp - 0x1c]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x68], edi
cmp word [eax], 0x78
jne 0x43774a
mov edx, dword [ebp - 0x18]
jmp 0x4376a3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x2c]
mov esi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x58]
mov dword [eax + esi*4], ecx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebp - 0x68]
mov dword [eax + esi*4 + 4], ecx
mov ecx, dword [ebx + 0x30]
sub ecx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x60]
mov dword [eax + ecx*4], esi
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp edx, 0xfffffc1b
jne 0x4377c4
mov ecx, dword [ebp - 0x1c]
mov edi, 0x82
movzx eax, word [ecx]
cmp ax, di
je 0x4377b9
cmp eax, 0x78
jne 0x4377b0
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x4377a2
movzx eax, word [ecx + 2]
neg eax
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x14]
xor esi, esi
cmp dword [eax + 0x70], ecx
cmove edx, esi
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
lea edi, [edx + 4]
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], 0
movzx eax, word [edx]
push esi
push dword [ebp - 0x28]
movzx ecx, byte [eax + 0x455178]
movzx eax, word [edx + 2]
push dword [ebp - 0x2c]
add ecx, eax
lea eax, [edx + ecx*2]
push eax
push ebx
call fcn.0042e760
mov esi, eax
add esp, 0x1c
cmp esi, 1
je 0x437822
cmp esi, 0xfffffc19
jne 0x437841
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x68], 0
jne 0x437844
mov dword [eax + 0x68], edi
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
cmp esi, 0xfffffc1f
jne 0x4355a3
push dword [eax + 0x58]
push edi
call fcn.0043ae50
add esp, 8
test eax, eax
jne 0x4355a3
mov eax, dword [ebp - 0x14]
pop edi
mov dword [eax + 0x58], ebx
lea eax, [esi - 1]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
movzx eax, word [ecx]
push esi
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push ebx
call fcn.0042e760
add esp, 0x1c
mov ecx, 0xfffffc1c
test eax, eax
cmovne ecx, eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
movzx eax, word [ecx]
push esi
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push ebx
call fcn.0042e760
add esp, 0x1c
mov ecx, 0xfffffc1d
test eax, eax
cmovne ecx, eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
lea esi, [edx + 4]
mov dword [edi + 0x6c], esi
mov dword [edi + 0x68], 0
movzx eax, word [edx]
push edi
push dword [ebp - 0x28]
movzx ecx, byte [eax + 0x455178]
movzx eax, word [edx + 2]
push dword [ebp - 0x2c]
add ecx, eax
lea eax, [edx + ecx*2]
push eax
push ebx
call fcn.0042e760
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x437958
cmp ecx, 0xfffffc19
jne 0x437961
cmp dword [edi + 0x68], 0
jne 0x437961
mov dword [edi + 0x68], esi
pop edi
test ecx, ecx
mov eax, 0xfffffc1d
pop esi
cmovne eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
movzx eax, word [ecx]
push esi
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
pop edi
mov dword [esi + 0x58], ebx
mov eax, 0xfffffc1e
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
movzx eax, word [edi]
push esi
push dword [ebp - 0x28]
movzx eax, byte [eax + 0x455178]
push dword [ebp - 0x2c]
lea eax, [edi + eax*2]
push eax
push ebx
call fcn.0042e760
add esp, 0x1c
test eax, eax
jne 0x437b12
mov dword [esi + 0x58], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x34]
lea esi, [edx + 4]
mov dword [edi + 0x6c], esi
mov dword [edi + 0x68], 0
movzx eax, word [edx]
push edi
push dword [ebp - 0x28]
movzx ecx, byte [eax + 0x455178]
movzx eax, word [edx + 2]
push dword [ebp - 0x2c]
add ecx, eax
lea eax, [edx + ecx*2]
push eax
push ebx
call fcn.0042e760
add esp, 0x1c
cmp eax, 1
je 0x437a5b
cmp eax, 0xfffffc19
jne 0x437a64
cmp dword [edi + 0x68], 0
jne 0x437a64
mov dword [edi + 0x68], esi
test eax, eax
jne 0x437b12
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x58], eax
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
cmp ebx, dword [esi + 0x64]
jbe case.0x42e85c.0
mov dword [esi + 0x64], ebx
mov edi, dword [ebp - 0x2c]
cmp ebx, edi
jne 0x437ac8
cmp edx, 0xa1
je 0x437ac8
cmp dword [esi + 0xa0], 0
jne 0x437ac8
mov eax, dword [esi + 0x74]
test al, 4
jne case.0x42e85c.159
test al, 8
je 0x437ac8
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x50]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x42e85c.159
mov eax, dword [ebp - 0x28]
test edx, edx
mov dword [esi + 0x5c], ebx
mov ecx, 1
mov dword [esi + 0x3c], eax
mov eax, 0xfffffc19
mov dword [esi + 0x58], edi
cmove eax, ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042520b
mov esp, ebp
pop ebp
ret
inc dword [esi + 0xc]
mov eax, 0xffffffd1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042520b
mov esp, ebp
pop ebp
ret