Function at 0x42df10
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 0x4372ba
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 0x4372a4
test byte [eax + 0x88], 2
je 0x42dfc6
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 0x42dfe0
mov ebx, dword [ebp - 0x18]
mov esi, eax
jmp 0x42dfe3
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.0x42ff7a
movzx eax, byte [edx + 0x437424]
jmp dword [eax*4 + 0x4372d4]
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 0x434c79
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x455168]
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*2]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
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.0042df10
add esp, 0x1c
cmp eax, 1
je 0x42e12f
cmp eax, 0xfffffc20
jne 0x42e0b5
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 0x4372c2
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42e0c0
cmp word [ecx], 0x78
jne 0x4372c2
jmp 0x42e0c0
test eax, eax
jne 0x4372c2
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 0x42e060
mov edi, dword [ebp - 0x2c]
movzx eax, word [edx]
mov ecx, 0x83
cmp ax, cx
je 0x42e0f0
cmp eax, 0x78
jne case.0x42e00c.159
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42e0f0
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 0x42e11e
cmp eax, ebx
jne 0x434582
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov edi, dword [eax + 0x58]
mov dword [ebp - 0x2c], edi
jmp 0x42e0d9
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], 0
jmp 0x42ec03
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], 0
jmp 0x42ec13
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 0x42e17f
cmp eax, 0x77
jne 0x42e2a9
movzx esi, word [edx + 6]
jmp 0x42e186
movzx esi, byte [0x4551de]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xac], 0
je 0x42e2a1
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 0x42e250
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 0x42e276
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.0x42e00c.159
js 0x4372c2
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.0x42e2c6.148
movzx eax, byte [eax + 0x4374e4]
jmp dword [eax*4 + 0x4374c8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je case.0x42e2c6.146
movzx eax, word [edx + 2]
cmp eax, 0xffff
je case.0x42e2c6.147
cmp eax, dword [ecx + 4]
je case.0x42e2c6.147
xor ebx, ebx
jmp case.0x42e2c6.146
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xa0], ebx
je case.0x42e2c6.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 0x42e49a
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 0x42e3ef
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 0x46]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x42e340
jmp 0x42e49a
movzx ecx, word [edx + 2]
add ecx, ecx
cmp ecx, dword [ebp - 0x28]
jae 0x42e2f6
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
cmp dword [eax + ecx*4], 0xffffffff
je 0x42e2f6
mov esi, dword [ebp - 0x38]
mov ebx, 1
movzx edi, byte [esi + 0x455168]
jmp case.0x42e2c6.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 0x42e49a
xor ebx, ebx
nop word [eax + eax]
movzx ecx, word [edx]
dec esi
add ecx, ecx
cmp ecx, dword [ebp - 0x28]
jae 0x42e3d7
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x42e3ea
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 0x46]
lea edx, [edx + eax*2]
test esi, esi
jg 0x42e3c0
jmp 0x42e49a
mov ebx, 1
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
movzx edi, byte [esi + 0x455168]
jmp case.0x42e2c6.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.0042df10
add esp, 0x1c
cmp eax, 1
jne 0x42e48b
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 0x42e450
add ecx, 2
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea edx, [ecx + eax*2]
jne 0x42e46e
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42e460
mov esi, dword [ebp - 0x38]
mov ecx, 2
movzx eax, byte [esi + 0x455168]
movzx edi, byte [esi + 0x455168]
sub ecx, eax
lea edx, [edx + ecx*2]
jmp case.0x42e2c6.146
test eax, eax
je 0x42e49a
cmp eax, 0xfffffc20
jne 0x4372c2
mov edx, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
mov dword [ebp - 0x1c], edx
test ebx, ebx
jne 0x4345dc
cmp word [edx - 4], 0x78
je 0x4345dc
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe0
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 0x42e501
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 0x42dfe3
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 0x42e54c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
lea edi, [eax + ecx*4]
lea ecx, [eax + esi*4]
cmp edi, ecx
jae 0x42e546
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 0x42dfe3
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x68]
mov eax, dword [eax + 0x88]
test al, 1
je 0x42e586
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffe
mov ebx, 1
mov dword [ecx + 0x88], eax
jmp 0x42e588
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.0042df10
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x42e611
cmp ecx, 0xfffffc19
je 0x42e611
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x68], edi
cmp ecx, 0xfffffc20
jne 0x42e5f3
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 0x437061
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42e5fe
cmp word [eax], 0x78
jne 0x437061
jmp 0x42e5fe
test ecx, ecx
jne 0x437061
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 0x42e590
jmp 0x42e61d
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.0x42e00c.159
test ebx, ebx
jne 0x434ed4
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42e630
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 0x42dfe0
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x68]
mov eax, dword [eax + 0x88]
test al, 1
je 0x42e67b
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffe
mov ebx, 1
mov dword [ecx + 0x88], eax
jmp 0x42e67d
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.0042df10
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x68], edi
cmp ecx, 0xfffffc20
jg 0x42e6d1
jne 0x42e6f2
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 0x42e710
cmp word [edx], 0x78
je 0x42e6df
cmp word [eax], 0x78
jne 0x42e710
jmp 0x42e6df
mov eax, ecx
sub eax, 0
jne 0x434d02
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 0x42e684
jmp 0x42e71e
cmp ecx, 0xfffffc19
je case.0x42e00c.159
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x437061
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42e710
test ebx, ebx
jne 0x434ed4
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
mov edx, dword [ebp - 0x1c]
test edi, edi
je 0x42e79a
movzx ecx, word [edx + 2]
test ecx, ecx
jle 0x42e781
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.0x42e00c.159
mov ax, word [eax]
and ax, bx
cmp ax, si
jne 0x42e777
sub dword [ebp - 0x18], 2
test ecx, ecx
jg 0x42e756
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x60]
jae 0x42e78c
mov dword [esi + 0x60], eax
mov ebx, dword [ebp - 0x18]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
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.0x42e00c.159
jmp 0x42e784
mov edx, dword [ebp - 0x1c]
movzx esi, byte [0x4551de]
cmp ecx, 0x76
je 0x42e7c6
movzx esi, word [edx + 6]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xac], 0
je 0x42e8e8
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 0x42e89a
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 0x42e8c0
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.0x42e00c.159
js 0x4372c2
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
lea edx, [edx + esi*2]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
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 0x42e911
xor ecx, ecx
jmp 0x42e915
movzx ecx, word [edi + 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x42e939
cmp ecx, dword [eax + 4]
jne 0x42e933
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x10]
je 0x434d1e
mov eax, dword [eax]
test eax, eax
jne 0x42e922
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 0x42e9c6
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.00437a50
mov edx, dword [ebp - 0x14]
add esp, 0x1c
mov ecx, dword [ebp - 0x80]
mov dword [edx + 0xa0], ecx
cmp eax, 1
je 0x42e9a6
cmp eax, 0xfffffc19
jne 0x4372c2
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 0x42dfe3
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x42e9ef
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 0x42ea15
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 0x434d66
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.0043e9e0
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 0x42ea4e
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [edi + eax*2]
push eax
push dword [ebp - 0x18]
call fcn.0042df10
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.0043e9e0
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 0x42eaeb
cmp esi, 0xfffffc19
je 0x42eaeb
cmp esi, 0xfffffc1c
jl 0x42eabe
cmp esi, 0xfffffc20
jle 0x434d34
test esi, esi
jne 0x434d36
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 0x434d36
mov eax, dword [ebp - 0x44]
jmp 0x42ea40
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 0x42e9a8
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 0x42eb10
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x78
lea esi, [esi + eax*2]
je 0x42eb51
mov ebx, dword [ebp - 0x18]
lea edx, [esi + 4]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
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 0x42eb80
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x18]
jmp 0x42dfdd
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 0x42ebc4
lea edx, [ecx + 4]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
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 0x42ec03
cmp edx, 0x8c
jne 0x42ec13
movzx edi, word [ecx + 4]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x34]
jb 0x42ed51
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 0x42ec45
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push dword [ebp - 0x18]
call fcn.0042df10
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1a
jne 0x42ecab
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 0x42ed10
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
jmp 0x42ec30
cmp ecx, 0xfffffc20
jne 0x42ecde
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 0x437061
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42ece9
cmp word [eax], 0x78
jne 0x437061
jmp 0x42ece9
test ecx, ecx
jne 0x437061
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 0x42ed2f
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 0x42ec30
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42ed10
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
test ebx, ebx
jne 0x42e11e
cmp dword [ebp - 0x3c], ebx
je case.0x42e00c.159
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
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 0x42edb8
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push dword [ebp - 0x18]
call fcn.0042df10
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1a
jne 0x42ee2c
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 0x42eed0
mov dword [ebp - 0x18], eax
jmp 0x42ed90
cmp ecx, 0xfffffc20
jne 0x42ee5f
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 0x437061
mov edx, dword [ebp - 0x1c]
cmp word [edx], 0x78
je 0x42ee6a
cmp word [eax], 0x78
jne 0x437061
jmp 0x42ee6a
test ecx, ecx
jne 0x437061
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 0x42ed89
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x42eebf
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 0x42e11e
test ecx, ecx
jmp 0x42ed3a
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
lea edx, [edx + eax*2]
je 0x42eed0
jmp 0x42eebf
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 0x42ef0d
mov edi, 0x82
cmp ax, di
je 0x42ef0d
mov dword [ebp - 0x44], 0
jmp 0x42ef1b
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 0x42ef2e
mov ecx, 0x81
cmp ax, cx
jbe 0x434eba
mov ecx, 0x83
cmp ax, cx
je 0x434eba
mov ecx, 0x86
cmp ax, cx
je 0x42ef68
mov ecx, 0x8b
cmp ax, cx
je 0x42ef68
mov ecx, 0x87
cmp ax, cx
je 0x42ef68
mov ecx, 0x8c
cmp ax, cx
jne 0x42f006
mov eax, dword [ebp - 0x14]
movzx esi, word [ebx + 4]
mov eax, dword [eax + 0xa0]
lea edx, [esi + esi]
test eax, eax
je 0x42ef85
cmp dword [eax + 4], esi
je 0x434d7c
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 0x42efaf
mov esi, ecx
or eax, 0x10000
mov dword [esi + 0x7c], eax
mov edx, dword [ebp - 0x1c]
jmp 0x42f009
cmp edx, edi
jbe 0x42efd1
mov eax, ecx
mov eax, dword [eax + 0x2c]
lea edi, [eax + edi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x42efce
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 0x42efaa
lea edi, [edx + 2]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edi
jmp 0x42f009
mov edi, dword [ebp - 0x28]
movzx eax, word [edx]
cmp eax, 0x7c
je 0x434e8d
cmp eax, 0x79
je 0x42f026
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x44]
jne 0x4345f1
mov eax, 0x82
cmp word [ebx], ax
je 0x434e50
mov ebx, dword [ebp - 0x18]
add edx, 4
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x14]
mov esi, eax
test byte [eax + 0x74], 1
mov eax, dword [ebp - 0x18]
je 0x42f061
cmp eax, dword [esi + 0x50]
je case.0x42e00c.159
jmp 0x42f061
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x50]
jne case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x14]
mov esi, eax
test byte [eax + 0x74], 1
mov eax, dword [ebp - 0x18]
je 0x42f092
cmp eax, dword [esi + 0x50]
je case.0x42e00c.159
mov ecx, dword [esi + 0x50]
cmp eax, ecx
je 0x42f06a
cmp eax, dword [esi + 0x54]
jne 0x42f0ab
test dword [esi + 0x78], 0x200000
je case.0x42e00c.159
mov edx, dword [esi + 0x8c]
test edx, edx
je 0x42f0f0
cmp eax, ecx
jbe case.0x42e00c.159
mov eax, dword [ebp - 0x14]
push edi
add eax, 0x90
push eax
push ecx
push edx
push dword [ebp - 0x18]
call fcn.0043a4e0
add esp, 0x14
test eax, eax
je case.0x42e00c.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 0x42dfe3
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.0x42e00c.159
sub ecx, edx
mov edx, dword [ebp - 0x14]
mov ax, word [ecx]
cmp ax, word [edx + 0x94]
jne case.0x42e00c.159
cmp esi, 1
mov esi, edx
je 0x42f06a
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x96]
jmp 0x42f064
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.0x42e00c.159
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
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 0x42dfe3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x42f273
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x42f223
mov ebx, dword [ebp - 0x18]
add eax, 0x90
push edi
push eax
push ecx
push edx
push ebx
call fcn.0043a430
mov esi, dword [ebp - 0x14]
add esp, 0x14
test eax, eax
jne 0x42f2a3
mov eax, dword [ebp - 0x18]
cmp word [esi + 0x40], 0
je case.0x42e00c.159
add eax, 2
cmp eax, dword [esi + 0x54]
jb case.0x42e00c.159
cmp dword [esi + 0x8c], 0
jne case.0x42e00c.159
cmp dword [esi + 0x90], 2
jne case.0x42e00c.159
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [esi + 0x94]
jne case.0x42e00c.159
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
jbe case.0x42e00c.159
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 0x42f1b7
mov ax, word [eax]
cmp ax, word [esi + 0x94]
jne 0x42f1b4
mov ebx, dword [ebp - 0x18]
cmp edx, 1
je 0x42f2a3
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x96]
jne 0x42f1b4
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
test byte [esi + 0x74], 2
jne case.0x42e00c.159
cmp word [esi + 0x40], 0
je 0x42f2a0
cmp eax, dword [esi + 0x60]
jbe 0x42f2a0
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x14]
test byte [eax + 0x74], 2
jne case.0x42e00c.159
test byte [eax + 0x78], 0x10
je 0x42f311
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jb case.0x42e00c.159
cmp word [esi + 0x40], 0
je 0x42f06a
cmp eax, dword [esi + 0x60]
jbe 0x42f06a
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x42f414
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
add esi, 0x90
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x42f3c2
push edi
push esi
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0043a430
add esp, 0x14
test eax, eax
jne 0x42f3fc
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x42e00c.159
add eax, 2
cmp eax, dword [ecx + 0x54]
jb case.0x42e00c.159
cmp dword [ecx + 0x8c], 0
jne case.0x42e00c.159
cmp dword [ecx + 0x90], 2
jne case.0x42e00c.159
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ecx + 0x94]
jne case.0x42e00c.159
mov dword [ecx + 0x18], 1
cmp word [ecx + 0x40], 1
jbe case.0x42e00c.159
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 0x42f356
mov ax, word [eax]
cmp ax, word [ecx + 0x94]
jne 0x434eea
cmp edx, 1
je 0x42f3fc
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
cmp ax, word [ecx + 0x96]
jne 0x434eea
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 0x42f353
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x42f06a
cmp eax, dword [esi + 0x60]
jbe 0x42f06a
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
test edi, edi
je 0x42f5f9
cmp eax, dword [esi + 0x50]
je 0x42f530
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42f47f
sub edx, 2
mov eax, dword [ebp - 0x14]
cmp edx, dword [eax + 0x60]
jae 0x42f48a
mov dword [eax + 0x60], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f4b5
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 0x42f518
cmp ecx, 0x5f
jne 0x42f4cb
lea esi, [ecx - 0x5e]
jmp 0x42f532
mov eax, ecx
test eax, eax
jns 0x42f4d4
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x42f4ee
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x42f511
cmp eax, 3
jne 0x42f530
mov esi, 1
jmp 0x42f532
cmp ecx, 0x100
jae 0x42f530
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x42f530
mov esi, 1
jmp 0x42f532
xor esi, esi
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov eax, dword [eax + 0x54]
cmp ebx, eax
jb 0x42f58b
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x42f567
mov ecx, dword [ebp - 0x14]
mov eax, ebx
cmp eax, dword [ecx + 0x60]
jbe 0x42f567
mov eax, ecx
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov ax, word [edx]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp ax, 5
jne 0x42f76e
xor eax, eax
cmp ecx, esi
sete al
jmp 0x42f775
lea ecx, [ebx + 2]
cmp ecx, eax
jae 0x42f5a2
mov ax, word [ecx]
and ax, word [ebp - 0x6c]
cmp ax, word [ebp - 0x60]
jne 0x42f5a2
add ecx, 2
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x64]
jbe 0x42f5ad
mov dword [eax + 0x64], ecx
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f5d8
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 0x42f6ed
cmp ecx, 0x100
jae 0x42f567
jmp 0x42f757
cmp eax, dword [esi + 0x50]
jne 0x42f608
mov edx, 0xff
jmp 0x42f684
cmp eax, dword [esi + 0x60]
ja 0x42f616
add eax, 0xfffffffe
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0x18]
test dword [esi + 0x78], 0x20000
je 0x42f6ad
movzx ecx, word [eax - 2]
cmp ecx, 0x5f
jne 0x42f636
lea esi, [ecx - 0x5e]
mov edx, 0xff
jmp 0x42f686
mov eax, ecx
test eax, eax
jns 0x42f63f
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x42f659
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x42f69e
cmp eax, 3
je 0x42f69e
mov edx, 0xff
mov eax, dword [ebp - 0x18]
xor esi, esi
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0x54]
jb 0x42f6d3
cmp word [ecx + 0x40], 0
je 0x42f567
jmp 0x42f54e
mov eax, dword [ebp - 0x18]
mov esi, 1
mov edx, 0xff
jmp 0x42f686
movzx eax, word [eax - 2]
mov edx, 0xff
cmp ax, dx
ja 0x42f681
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x42f681
mov eax, dword [ebp - 0x18]
mov esi, 1
jmp 0x42f686
cmp eax, dword [ecx + 0x64]
jb 0x42f6e1
add eax, 2
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x18]
test dword [ecx + 0x78], 0x20000
je 0x42f746
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x42f73c
mov eax, ecx
test eax, eax
jns 0x42f6fb
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x42f715
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x42f73c
cmp eax, 3
jne 0x42f567
mov ecx, 1
jmp 0x42f569
movzx eax, word [eax]
cmp ax, dx
ja 0x42f567
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x42f567
mov ecx, 1
jmp 0x42f569
xor eax, eax
cmp ecx, esi
setne al
test eax, eax
jne case.0x42e00c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42dfe0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x42f819
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x42f7c2
mov eax, dword [ebp - 0x14]
push edi
add eax, 0x90
push eax
push ecx
push edx
push dword [ebp - 0x18]
call fcn.0043a430
add esp, 0x14
test eax, eax
jne case.0x42e00c.159
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
cmp word [ebx + 0x40], 0
je 0x42f862
add eax, 2
cmp eax, dword [ebx + 0x54]
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
jb 0x42f868
cmp dword [eax + 0x8c], 0
jne 0x42f868
cmp dword [eax + 0x90], 2
jne 0x42f868
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
mov eax, ecx
jne 0x42f868
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
jmp 0x42f868
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 0x42f85a
mov ax, word [eax]
cmp ax, word [ebx + 0x94]
jne 0x42f85a
cmp edx, 1
je case.0x42e00c.159
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x96]
je case.0x42e00c.159
mov eax, dword [ebp - 0x18]
jmp 0x42f7c5
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x54]
cmp ebx, eax
jae 0x434ef2
add ebx, 2
mov dword [ebp - 0x18], ebx
test edi, edi
je 0x42f89d
cmp ebx, eax
jae 0x42f89d
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42f89d
add dword [ebp - 0x18], 2
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
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 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42f914
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f914
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 0x42f06a
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 4
jmp 0x42f064
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42f973
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f973
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.0x42e00c.159
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 4
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42f9e4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42f9e4
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 0x42f06a
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 1
jmp 0x42f064
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fa43
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fa43
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.0x42e00c.159
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 1
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fab4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fab4
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 0x42f06a
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 0x10
jmp 0x42f064
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fb13
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fb13
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.0x42e00c.159
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov edx, dword [esi + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fb89
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 0x18]
jne 0x42fb89
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 0x42fbcc
je 0x42fba4
cmp ecx, 0xa
je 0x42f06a
jbe case.0x42e00c.159
cmp ecx, 0xc
jmp 0x42fbdd
cmp eax, edx
jae 0x42f2d2
cmp word [eax], 0xa
jne 0x42f06a
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 0x42dfe3
cmp ecx, 0x85
je 0x42fbe3
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fc4b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fc4b
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 0x42fca7
je case.0x42e00c.159
cmp ecx, 0xa0
ja 0x42fc8a
je case.0x42e00c.159
cmp ecx, 9
je case.0x42e00c.159
cmp ecx, 0x20
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
cmp ecx, 0x1680
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
cmp ecx, 0x205f
ja 0x42fcea
je case.0x42e00c.159
cmp ecx, 0x2000
jb 0x42f06a
cmp ecx, 0x200a
jbe case.0x42e00c.159
cmp ecx, 0x202f
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
cmp ecx, 0x3000
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fd4e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fd4e
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 0x42fd86
je 0x42f06a
cmp ecx, 0xa0
ja 0x42fd7b
je 0x42f06a
cmp ecx, 9
je 0x42f06a
cmp ecx, 0x20
jmp 0x42f064
cmp ecx, 0x1680
jmp 0x42f064
cmp ecx, 0x205f
ja 0x42fdb7
je 0x42f06a
cmp ecx, 0x2000
jb case.0x42e00c.159
cmp ecx, 0x200a
jbe 0x42f06a
cmp ecx, 0x202f
jmp 0x42f064
cmp ecx, 0x3000
jmp 0x42f064
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42fe09
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42fe09
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 0x42fe3a
je case.0x42e00c.159
cmp ecx, 0xa
jb 0x42f06a
cmp ecx, 0xd
jbe case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
cmp ecx, 0x2028
jb 0x42f06a
cmp ecx, 0x2029
jbe case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42feaa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42feaa
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 0x42fed5
je 0x42f06a
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x434f31
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test edi, edi
je 0x42ff3c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42ff3c
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 0x42ff45
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x42ff60
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 + 0x459ab8]
cmp eax, 0xa
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x4374f8]
cmp dword [ebp - 0x30], 0xf
jmp 0x43017e
mov al, byte [ecx*8 + 0x456239]
cmp al, 9
je 0x43016e
cmp al, 5
je 0x43016e
cmp al, 8
je 0x43016e
xor ecx, ecx
jmp 0x430173
movzx ecx, byte [ecx*8 + 0x456239]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x455300]
setne dl
xor eax, eax
cmp dword [ebp - 0x30], 0x10
sete al
cmp edx, eax
jmp 0x43017e
movzx eax, byte [ecx*8 + 0x456239]
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.0x42e00c.159
mov ebx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
movzx eax, byte [ecx*8 + 0x456238]
jmp 0x42ffe0
movzx eax, byte [ecx*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x43016e
cmp eax, 3
je 0x43016e
xor ecx, ecx
jmp 0x430173
cmp edx, 0x180e
ja 0x430080
je case.0x42ff7a.0
cmp edx, 0x85
ja 0x43006c
je case.0x42ff7a.0
cmp edx, 9
jb case.0x4300a0.8203
cmp edx, 0xd
jbe case.0x42ff7a.0
cmp edx, 0x20
jmp 0x4300b9
cmp edx, 0xa0
je case.0x42ff7a.0
cmp edx, 0x1680
jmp 0x4300b9
cmp edx, 0x202f
ja 0x4300a7
je case.0x42ff7a.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4300a0.8203
movzx eax, byte [edx + 0x43752c]
jmp dword [eax*4 + 0x437524]
cmp edx, 0x205f
je case.0x42ff7a.0
cmp edx, 0x3000
je case.0x42ff7a.0
movzx eax, byte [ecx*8 + 0x456239]
xor ecx, ecx
cmp dword [eax*4 + 0x455300], 6
sete cl
jmp 0x430173
movzx eax, byte [ecx*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x43016e
cmp eax, 3
je 0x43016e
cmp edx, 0x5f
je 0x43016e
xor ecx, ecx
jmp 0x430173
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4560f8]
lea eax, [eax*4 + 0x4560f8]
cmp edx, ecx
jb 0x430122
lea eax, [eax + 4]
cmp edx, ecx
je 0x430128
mov ecx, dword [eax]
cmp edx, ecx
jae 0x430115
cmp dword [ebp - 0x30], 0x10
jmp 0x43017e
cmp dword [ebp - 0x30], 0x10
jne case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
cmp edx, 0x24
je 0x43016e
cmp edx, 0x40
je 0x43016e
cmp edx, 0x60
je 0x43016e
cmp edx, 0xa0
jb 0x430162
cmp edx, 0xd7ff
jbe 0x43016e
cmp edx, 0xe000
jae 0x43016e
xor ecx, ecx
jmp 0x430173
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x30], 0xf
sete al
cmp ecx, eax
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 6
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov edi, dword [esi + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x434f31
movzx ecx, word [eax]
add eax, 2
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x4301e1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4301e1
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 0x4301ea
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x430204
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx esi, byte [eax*8 + 0x45623a]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x4302b8
movzx ecx, word [eax]
mov edx, 1
test ebx, ebx
je 0x43025d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43025d
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 0x430266
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x430280
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx ecx, byte [eax*8 + 0x45623a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552c8], eax
je 0x4302b5
mov eax, dword [ebp - 0x18]
mov esi, ecx
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
cmp eax, edi
jb 0x430221
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4302df
cmp eax, edi
jb 0x4302df
cmp eax, dword [esi + 0x60]
jbe 0x4302df
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 2
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
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 0x430363
movzx esi, word [ecx]
dec edx
add esi, esi
cmp esi, dword [ebp - 0x28]
jae 0x430339
mov eax, dword [edi + 0x2c]
cmp dword [eax + esi*4], 0xffffffff
jne 0x430363
movzx eax, word [edi + 0x46]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x430325
jmp 0x430363
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.0x43037e
movzx eax, byte [eax + 0x437560]
jmp dword [eax*4 + 0x437558]
mov edx, dword [ebp - 0x1c]
lea eax, [ecx - 0x62]
movsx ebx, byte [eax + 0x454e7c]
mov ecx, eax
movsx eax, byte [eax + 0x454e88]
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 0x4303e6
mov dword [ebp - 0x38], SysReAllocString
jmp 0x4303e6
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 0x430408
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + esi*4]
cmp ecx, 0xffffffff
je 0x430408
mov edi, dword [ebp - 0x20]
cmp ecx, dword [eax + esi*4 + 4]
je 0x42dfc6
mov eax, dword [ebp - 0x14]
jmp 0x430423
mov edi, dword [ebp - 0x20]
test ebx, ebx
je 0x42dfc6
mov eax, dword [ebp - 0x14]
test dword [eax + 0x78], 0x200
jne 0x42dfd0
mov ecx, dword [ebp - 0x18]
mov edi, 1
cmp ebx, edi
jl 0x430461
nop
lea edx, [ebp - 0x68]
push edx
push dword [ebp - 0x3c]
push eax
push ecx
push dword [ebp - 0x28]
push esi
call fcn.00437830
add esp, 0x18
test eax, eax
jne 0x434f60
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 0x430430
mov edx, dword [ebp - 0x38]
cmp ebx, edx
je 0x42dfd7
cmp dword [ebp - 0x44], 0
je 0x434f9b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x38]
jge case.0x42e00c.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.00437830
add esp, 0x18
test eax, eax
jne 0x434f60
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.0042df10
add esp, 0x1c
test eax, eax
je 0x4304a0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.00437830
add esp, 0x18
test eax, eax
jne 0x435136
mov eax, dword [ebp - 0x64]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x18], ebx
jmp 0x42dfda
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.0x430559
movzx eax, byte [eax + 0x437570]
jmp dword [eax*4 + 0x437568]
lea eax, [edx - 0x62]
add esi, 2
mov dword [ebp - 0x1c], esi
cmp eax, 8
jae 0x430578
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x43057f
mov dword [ebp - 0x48], 1
movsx ecx, byte [eax + 0x454e7c]
movsx eax, byte [eax + 0x454e88]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x4305e2
mov dword [ebp - 0x24], SysReAllocString
jmp 0x4305e2
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 0x4305df
mov dword [ebp - 0x24], 1
mov ecx, 1
mov dword [ebp - 0x38], ecx
mov esi, 1
test edi, edi
je 0x430678
cmp ecx, esi
jl 0x4306ce
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x43515d
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430642
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 0x430656
cmp dword [ebp - 0x30], 0x6e
je case.0x42e00c.159
jmp 0x430671
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e00c.159
mov ecx, dword [ebp - 0x38]
inc esi
cmp esi, ecx
jle 0x430600
jmp 0x4306ce
cmp ecx, 1
jl 0x4306ce
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edi
jae 0x43515d
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
cmp edx, 0xff
jbe 0x4306ab
cmp dword [ebp - 0x30], 0x6e
je case.0x42e00c.159
jmp 0x4306c9
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e00c.159
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
inc esi
cmp esi, ecx
jle 0x430686
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x14]
cmp ecx, edi
je 0x43075e
cmp dword [ebp - 0x3c], 0
jne 0x435235
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x18]
mov ebx, eax
je 0x4307c1
cmp ecx, edi
jge 0x430754
mov edx, esi
mov edi, dword [edx + 0x54]
nop
mov esi, 1
cmp eax, edi
jae 0x43079e
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430740
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 0x43076c
cmp dword [ebp - 0x30], 0x6e
jne 0x430786
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x48], 0
je 0x43516c
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
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 0x43074e
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 0x430700
jmp 0x43074e
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x430754
cmp eax, dword [esi + 0x60]
jbe 0x430754
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x430754
cmp ecx, edi
jge 0x4307e8
mov edx, esi
mov esi, dword [edx + 0x54]
nop word [eax + eax]
cmp eax, esi
jae 0x43082d
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x430800
cmp dword [ebp - 0x30], 0x6e
jne 0x43081d
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x4351e8
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
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 0x4307e5
mov ecx, dword [ebp - 0x38]
inc ecx
add eax, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], ecx
cmp ecx, edi
jl 0x4307d0
jmp 0x4307e5
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4307e8
cmp eax, dword [esi + 0x60]
jbe 0x4307e8
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x4307e8
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.0x43087c
movzx eax, byte [eax + 0x437584]
jmp dword [eax*4 + 0x43757c]
lea eax, [edx - 0x62]
add esi, 2
mov dword [ebp - 0x1c], esi
cmp eax, 8
jae 0x43089b
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x4308a2
mov dword [ebp - 0x48], 1
movsx edi, byte [eax + 0x454e7c]
movsx eax, byte [eax + 0x454e88]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x4308ff
mov dword [ebp - 0x38], SysReAllocString
jmp 0x4308ff
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 0x4308ff
mov dword [ebp - 0x38], 1
mov edi, 1
mov esi, 1
cmp edi, esi
jl 0x430975
nop dword [eax + eax]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x54]
jae 0x435160
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
test edx, edx
je 0x43095d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43095d
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.0043b9a0
add esp, 0xc
test eax, eax
je case.0x42e00c.159
inc esi
cmp esi, edi
jle 0x430910
mov eax, dword [ebp - 0x38]
cmp edi, eax
je 0x42dfd7
cmp dword [ebp - 0x3c], 0
jne 0x435456
mov ebx, dword [ebp - 0x18]
cmp edi, eax
jge 0x4309fb
mov ecx, dword [ebp - 0x14]
mov esi, 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x54]
jae 0x430a19
mov edx, dword [ebp - 0x20]
movzx ecx, word [eax]
test edx, edx
je 0x4309db
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4309db
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.0043b9a0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x18]
je 0x4309fe
inc edi
lea eax, [eax + esi*2]
mov dword [ebp - 0x18], eax
cmp edi, dword [ebp - 0x38]
jl 0x430991
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x4353d0
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, ecx
cmp word [esi + 0x40], 0
je 0x430a01
cmp eax, dword [esi + 0x60]
jbe 0x430a01
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x430a01
test edi, edi
je 0x430aa7
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 0x435531
test edx, edx
je 0x430a98
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.0x42e00c.159
test edx, edx
jne 0x430a78
mov edi, dword [ebp - 0x20]
dec edx
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x1c]
jmp 0x42dfe3
mov eax, dword [esi + 0x54]
sub eax, ebx
and eax, 0xfffffffe
cmp eax, 2
jl 0x435553
mov edx, dword [ebp - 0x1c]
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp word [edx + 2], ax
jne case.0x42e00c.159
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435560
test edi, edi
je 0x430c07
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 0x430b31
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 0x430b75
movzx ecx, word [eax]
cmp ecx, 0xff
ja 0x430b51
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.0x42e00c.159
add edx, 2
add dword [ebp - 0x18], 2
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
jmp 0x42dfe0
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x430bac
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 0x42dfdd
mov eax, esi
test eax, eax
jns 0x430bc9
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x430be4
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
mov eax, dword [eax*8 + 0x45623c]
add eax, esi
cmp edx, eax
jne case.0x42e00c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42dfdd
mov eax, dword [ebp - 0x1c]
mov ebx, 0xff
movzx eax, word [eax + 2]
cmp ax, bx
ja 0x430c23
mov ecx, eax
mov eax, dword [esi + 0x20]
movzx edx, byte [eax + ecx]
jmp 0x430c25
mov edx, eax
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
cmp ax, bx
ja 0x430c39
mov ecx, eax
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + ecx]
cmp edx, eax
jne case.0x42e00c.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 0x42dfe3
mov ecx, dword [ebp - 0x1c]
movzx eax, word [ecx + 2]
add ecx, 4
mov ebx, eax
jmp 0x430d1d
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 0x430c8a
mov dword [ebp - 0x3c], ebx
cmp ecx, 0x35
jne 0x430c91
mov dword [ebp - 0x3c], 1
mov ecx, dword [ebp - 0x1c]
add ecx, 4
jmp 0x430d23
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add ecx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x430d20
mov ecx, dword [ebp - 0x1c]
mov ebx, 1
mov dword [ebp - 0x48], 1
add ecx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x430d20
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add ecx, 2
mov dword [ebp - 0x30], 1
jmp 0x430d20
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 + 0x454e88]
movsx ebx, byte [ecx + 0x454e7c]
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 0x431077
mov eax, esi
mov dword [ebp - 0x44], ecx
and eax, 0xfc00
mov edi, 1
mov dword [ebp - 0x64], edi
cmp eax, 0xd800
jne 0x430d6f
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 0x43107f
cmp edx, 0x2e
jb 0x430dd5
mov eax, esi
test eax, eax
jns 0x430d91
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x430dac
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
mov eax, dword [eax*8 + 0x45623c]
add eax, esi
cmp eax, esi
je 0x430dd5
lea ecx, [ebp - 0x10]
push ecx
push eax
call fcn.0043a5b0
add esp, 8
mov dword [ebp - 0x50], eax
jmp 0x430ddc
mov dword [ebp - 0x50], 0
mov esi, dword [ebp - 0x38]
mov ebx, 1
cmp esi, ebx
jl 0x430efe
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 0x430e64
mov esi, edi
mov ecx, edx
mov edx, dword [ebp - 0x44]
sub esi, 4
jb 0x430e24
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x430e29
add ecx, 4
add edx, 4
sub esi, 4
jae 0x430e13
cmp esi, 0xfffffffc
je 0x430e56
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x430e5e
cmp esi, 0xfffffffd
je 0x430e56
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x430e5e
cmp esi, 0xfffffffe
je 0x430e56
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x430e5e
cmp esi, 0xffffffff
je 0x430e56
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x430e5e
add dword [ebp - 0x18], edi
jmp 0x430ee9
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
test eax, eax
jle 0x435570
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x435570
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x10]
mov esi, edi
sub esi, 4
jb 0x430ea1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x430ea6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x430e90
cmp esi, 0xfffffffc
je 0x430ee3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x435570
cmp esi, 0xfffffffd
je 0x430ee3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x435570
cmp esi, 0xfffffffe
je 0x430ee3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x435570
cmp esi, 0xffffffff
je 0x430ee3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x435570
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 0x430e00
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
cmp esi, ecx
je 0x42dfda
cmp dword [ebp - 0x3c], 0
jne 0x435586
mov dword [ebp - 0x24], ebx
mov eax, ebx
cmp esi, ecx
jge 0x431022
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 0x430f94
mov esi, edi
mov ecx, edx
mov edx, dword [ebp - 0x44]
sub esi, 4
jb 0x430f57
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x430f5c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x430f46
cmp esi, 0xfffffffc
je 0x430f89
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x430f8e
cmp esi, 0xfffffffd
je 0x430f89
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x430f8e
cmp esi, 0xfffffffe
je 0x430f89
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x430f8e
cmp esi, 0xffffffff
je 0x430f89
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x430f8e
add dword [ebp - 0x18], edi
jmp 0x431009
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jle 0x43103d
lea edi, [ecx + ecx]
sub eax, edi
cmp edx, eax
ja 0x43103d
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x10]
mov esi, edi
sub esi, 4
jb 0x430fd1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x430fd6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x430fc0
cmp esi, 0xfffffffc
je 0x431003
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43103d
cmp esi, 0xfffffffd
je 0x431003
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43103d
cmp esi, 0xfffffffe
je 0x431003
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43103d
cmp esi, 0xffffffff
je 0x431003
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43103d
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 0x430f33
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x43468e
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov eax, dword [ebp - 0x14]
mov esi, eax
cmp word [eax + 0x40], 0
mov eax, dword [ebp - 0x18]
je 0x431072
cmp eax, dword [esi + 0x54]
jb 0x43106a
cmp eax, dword [esi + 0x60]
jbe 0x43106a
mov eax, esi
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
jmp 0x431025
mov ebx, dword [ebp - 0x24]
jmp 0x431025
add ecx, 2
mov dword [ebp - 0x1c], ecx
jmp 0x431082
mov edi, dword [ebp - 0x20]
cmp edx, 0x2e
jb 0x4311a0
test edi, edi
je 0x4310cd
cmp esi, 0x7f
jbe 0x4310cd
mov eax, esi
test eax, eax
jns 0x43109d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4310b8
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
mov edi, dword [eax*8 + 0x45623c]
add edi, esi
jmp 0x4310e3
cmp esi, 0xff
ja 0x4310e1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
movzx edi, byte [eax + esi]
jmp 0x4310e3
mov edi, esi
mov ecx, 1
cmp ebx, ecx
jl 0x43111c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x43515d
movzx eax, word [eax]
cmp esi, eax
je 0x43110c
cmp edi, eax
jne case.0x42e00c.159
mov eax, dword [ebp - 0x18]
inc ecx
add eax, 2
mov dword [ebp - 0x18], eax
cmp ecx, ebx
jle 0x4310f2
jmp 0x43111f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
cmp ebx, ecx
je 0x42dfd7
cmp dword [ebp - 0x3c], 0
jne 0x4356fe
mov edx, dword [ebp - 0x38]
mov ebx, eax
cmp edx, ecx
jge 0x431162
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x54]
cmp eax, ecx
jae 0x43117d
movzx eax, word [eax]
cmp esi, eax
je 0x431152
cmp edi, eax
jne 0x43115f
add dword [ebp - 0x18], 2
inc edx
mov eax, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x30]
jl 0x431143
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434710
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431165
cmp eax, dword [esi + 0x60]
jbe 0x431165
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x431165
mov ecx, 1
cmp ebx, ecx
jl 0x4311d6
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x43515d
mov edi, dword [ebp - 0x18]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 0x18], edi
cmp esi, eax
jne case.0x42e00c.159
inc ecx
cmp ecx, ebx
jle 0x4311b0
jmp 0x4311d9
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
cmp ebx, edx
je 0x42dfd7
cmp dword [ebp - 0x3c], 0
jne 0x435792
mov eax, dword [ebp - 0x18]
mov edi, eax
cmp ebx, edx
jge 0x43121a
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x54]
nop dword [eax]
cmp eax, ecx
jae 0x431235
movzx eax, word [eax]
cmp esi, eax
jne 0x431217
add dword [ebp - 0x18], 2
inc ebx
mov eax, dword [ebp - 0x18]
cmp ebx, edx
jl 0x431200
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434751
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x43121d
cmp eax, dword [esi + 0x60]
jbe 0x43121d
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x43121d
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x54]
jae 0x435560
mov ecx, dword [ebp - 0x1c]
test edi, edi
je 0x431362
movzx edx, word [ecx + 2]
add ecx, 4
mov eax, edx
mov dword [ebp - 0x1c], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4312a6
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 0x4312e0
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 0x4312f6
cmp edx, esi
je case.0x42e00c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42dfdd
cmp edx, 0x7f
jbe 0x431334
mov eax, edx
test eax, eax
jns 0x431304
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x43131f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
mov eax, dword [eax*8 + 0x45623c]
add eax, edx
jmp 0x43134a
cmp edx, 0xff
ja 0x431348
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
movzx eax, byte [eax + edx]
jmp 0x43134a
mov eax, edx
cmp edx, esi
je case.0x42e00c.159
cmp eax, esi
je case.0x42e00c.159
mov ebx, dword [ebp - 0x18]
jmp 0x42dfdd
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ecx + 2]
mov dword [ebp - 0x18], eax
cmp ecx, edx
je case.0x42e00c.159
cmp dword [ebp - 0x30], 0x20
jne 0x431394
cmp ecx, 0xff
ja 0x43138c
mov eax, dword [esi + 0x24]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x42e00c.159
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x42dfe3
mov edi, dword [ebp - 0x1c]
movzx eax, word [edi + 2]
add edi, 4
mov ebx, eax
jmp 0x431476
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
movzx eax, word [edi + 2]
mov dword [ebp - 0x38], eax
cmp ecx, 0x42
je 0x4313cf
mov dword [ebp - 0x3c], ebx
cmp ecx, 0x4f
jne 0x4313d6
mov dword [ebp - 0x3c], 1
add edi, 4
jmp 0x431479
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add edi, 2
mov dword [ebp - 0x38], SysReAllocString
jmp 0x431479
mov edi, dword [ebp - 0x1c]
mov ebx, 1
mov dword [ebp - 0x48], 1
add edi, 2
mov dword [ebp - 0x38], SysReAllocString
jmp 0x431479
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
add edi, 2
mov dword [ebp - 0x38], 1
jmp 0x431479
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x48], 1
movzx eax, word [edi + 2]
add edi, 4
jmp 0x431476
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 + 0x454e88]
movsx ebx, byte [ecx + 0x454e7c]
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 0x4314bc
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4314bc
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 0x431702
test ecx, ecx
je 0x43150a
cmp esi, 0x7f
jbe 0x43150a
mov eax, esi
test eax, eax
jns 0x4314d7
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4314f2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
mov ecx, dword [ebp - 0x20]
mov edi, dword [eax*8 + 0x45623c]
add edi, esi
jmp 0x431520
cmp esi, 0xff
ja 0x43151e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
movzx edi, byte [eax + esi]
jmp 0x431520
mov edi, esi
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x43159d
mov edx, 1
cmp ebx, edx
jl 0x4315da
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
jae 0x43515d
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431582
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.0x42e00c.159
cmp edi, ecx
je case.0x42e00c.159
inc edx
cmp edx, ebx
jle 0x431540
mov esi, dword [ebp - 0x30]
jmp 0x4315d7
mov ecx, 1
cmp ebx, ecx
jl 0x4315d7
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x43515d
movzx eax, word [eax]
cmp esi, eax
je case.0x42e00c.159
cmp edi, eax
je case.0x42e00c.159
add dword [ebp - 0x18], 2
inc ecx
cmp ecx, ebx
jle 0x4315b0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp ebx, eax
je 0x42dfd7
cmp dword [ebp - 0x3c], 0
jne 0x435837
mov edi, dword [ebp - 0x18]
test ecx, ecx
je 0x431698
cmp ebx, eax
jge 0x43165c
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
mov edx, 1
cmp eax, esi
jae 0x43167a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431643
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 0x43165f
cmp dword [ebp - 0x4c], ecx
je 0x43165f
inc ebx
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
cmp ebx, dword [ebp - 0x38]
jl 0x431604
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434796
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431662
cmp eax, dword [esi + 0x60]
jbe 0x431662
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42f20d
jmp 0x431662
cmp ebx, eax
jge 0x4316c1
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x4316df
movzx eax, word [eax]
cmp esi, eax
je 0x4316c1
cmp edx, eax
je 0x4316c1
add dword [ebp - 0x18], 2
inc ebx
cmp ebx, dword [ebp - 0x38]
jl 0x4316a5
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x48], 0
je 0x4347f5
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4316c7
cmp eax, dword [esi + 0x60]
jbe 0x4316c7
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x4316c7
test ecx, ecx
je 0x43181f
mov edx, 1
cmp ebx, edx
jl 0x43185b
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
jae 0x43515d
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431762
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.0x42e00c.159
inc edx
cmp edx, ebx
jle 0x431720
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
cmp ebx, edx
je 0x42dfd7
cmp dword [ebp - 0x3c], 0
jne 0x435972
mov eax, dword [ebp - 0x18]
mov edi, eax
test ecx, ecx
je 0x431881
cmp ebx, edx
jge 0x431804
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x54]
nop word [eax + eax]
mov edx, 1
cmp eax, esi
jae 0x431863
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4317f0
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 0x431804
inc ebx
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
cmp ebx, dword [ebp - 0x38]
jl 0x4317b0
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434839
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov ecx, 1
cmp ebx, ecx
jl 0x431773
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x43515d
mov edi, dword [ebp - 0x18]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 0x18], edi
cmp esi, eax
je case.0x42e00c.159
inc ecx
cmp ecx, ebx
jle 0x431832
jmp 0x431776
mov edi, dword [ebp - 0x18]
jmp 0x431779
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x431807
cmp eax, dword [esi + 0x60]
jbe 0x431807
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42f20d
jmp 0x431807
cmp ebx, edx
jge 0x4318aa
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x54]
nop dword [eax + eax]
cmp eax, ecx
jae 0x4318c5
movzx eax, word [eax]
cmp esi, eax
je 0x4318a7
add dword [ebp - 0x18], 2
inc ebx
mov eax, dword [ebp - 0x18]
cmp ebx, edx
jl 0x431890
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434898
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4318ad
cmp eax, dword [esi + 0x60]
jbe 0x4318ad
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x4318ad
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], 1
movzx eax, word [edx + 2]
add edx, 4
mov esi, eax
jmp 0x4319a8
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 0x4319a8
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x48], 1
add edx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x4319ab
mov edx, dword [ebp - 0x1c]
mov esi, 1
mov dword [ebp - 0x48], 1
add edx, 2
mov dword [ebp - 0x30], SysReAllocString
jmp 0x4319ab
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x48], 1
add edx, 2
mov dword [ebp - 0x30], 1
jmp 0x4319ab
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x48], 1
movzx eax, word [edx + 2]
add edx, 4
jmp 0x4319a8
lea eax, [edx - 0x55]
mov edx, dword [ebp - 0x1c]
movsx esi, byte [eax + 0x454e7c]
mov ecx, eax
movsx eax, byte [eax + 0x454e88]
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 0x4319cc
cmp edi, 0xf
je 0x4319cc
mov ecx, dword [ebp - 0x40]
or eax, 0xffffffff
jmp 0x4319ea
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 0x43230d
test eax, eax
js 0x43218d
cmp eax, 0xa
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x437590]
test ecx, ecx
jne case.0x42e00c.159
mov ebx, dword [ebp - 0x20]
mov ecx, 1
cmp esi, ecx
jl 0x431bec
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax + eax]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jae 0x43515d
add dword [ebp - 0x18], 2
movzx eax, word [eax]
test ebx, ebx
je 0x431a56
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431a56
add dword [ebp - 0x18], 2
inc ecx
cmp ecx, esi
jle 0x431a30
jmp 0x431bec
mov ebx, dword [ebp - 0x20]
mov edx, 1
cmp esi, edx
jl 0x431bec
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 0x43515d
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x431ac6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431ac6
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 0x431acf
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x431ae9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp eax, 9
je 0x431b0e
cmp eax, 5
je 0x431b0e
cmp eax, 8
je 0x431b0e
xor eax, eax
jmp 0x431b13
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.159
inc edx
cmp edx, edi
jle 0x431a80
mov edi, dword [ebp - 0x38]
jmp 0x431be9
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
mov dword [ebp - 0x5c], esi
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x431b8a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431b8a
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 0x431b93
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x431bad
dec ecx
or ecx, 0xffffff80
inc ecx
mov esi, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp dword [eax*4 + 0x455300], esi
mov esi, dword [ebp - 0x5c]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.159
inc edx
cmp edx, edi
jle 0x431b46
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 0x42dfd7
cmp dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x44]
jne 0x435ab9
mov ebx, dword [ebp - 0x18]
mov edi, ebx
mov dword [ebp - 0x3c], edi
test eax, eax
js 0x433757
cmp eax, 0xa
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x4375bc]
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
mov dword [ebp - 0x5c], esi
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x431c84
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431c84
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 0x431c8d
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x431ca7
dec ecx
or ecx, 0xffffff80
inc ecx
mov esi, dword [ebp - 0x5c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.159
inc edx
cmp edx, edi
jle 0x431c40
jmp 0x431be3
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
mov dword [ebp - 0x5c], esi
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x431d38
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431d38
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 0x431d41
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x431d5b
dec ecx
or ecx, 0xffffff80
inc ecx
mov esi, dword [ebp - 0x5c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456238]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.159
inc edx
cmp edx, edi
jle 0x431cf4
jmp 0x431be3
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x431de9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431de9
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 0x431df2
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x431e0c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x431e33
cmp eax, 3
je 0x431e33
xor eax, eax
jmp 0x431e38
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.159
inc edx
cmp edx, edi
jle 0x431da5
jmp 0x431be3
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x431ea9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431ea9
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 0x431eec
je case.0x431f08.8192
cmp ecx, 0x85
ja 0x431ed8
je case.0x431f08.8192
cmp ecx, 9
jb case.0x431f08.8203
cmp ecx, 0xd
jbe case.0x431f08.8192
cmp ecx, 0x20
jmp 0x431f1d
cmp ecx, 0xa0
je case.0x431f08.8192
cmp ecx, 0x1680
jmp 0x431f1d
cmp ecx, 0x202f
ja 0x431f0f
je case.0x431f08.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x431f08.8203
movzx eax, byte [eax + 0x4375f0]
jmp dword [eax*4 + 0x4375e8]
cmp ecx, 0x205f
je case.0x431f08.8192
cmp ecx, 0x3000
je case.0x431f08.8192
mov eax, ecx
test eax, eax
jns 0x431f28
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x431f42
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp dword [eax*4 + 0x455300], 6
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.159
jmp 0x431f76
cmp dword [ebp - 0x40], 0
jne case.0x42e00c.159
inc edx
cmp edx, edi
jle 0x431e65
jmp 0x431be3
mov esi, 1
cmp dword [ebp - 0x24], esi
jl 0x431be3
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
cmp ebx, edi
jae 0x435a90
movzx edx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x431fdc
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x431fdc
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 0x431fe5
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x432000
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x43202c
cmp eax, 3
je 0x43202c
cmp edx, 0x5f
je 0x43202c
xor eax, eax
jmp 0x432031
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.159
inc esi
cmp esi, dword [ebp - 0x24]
jle 0x431f98
jmp 0x431be3
mov esi, 1
cmp dword [ebp - 0x24], esi
jl 0x431be6
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop dword [eax]
cmp ebx, edi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x4320a4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4320a4
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 + 0x4560f8]
lea eax, [eax*4 + 0x4560f8]
cmp ecx, edx
jb 0x4320cd
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x4320e2
mov edx, dword [eax]
cmp ecx, edx
jae 0x4320c0
cmp dword [ebp - 0x40], 0
je case.0x42e00c.159
inc esi
cmp esi, dword [ebp - 0x24]
jle 0x432060
jmp 0x431be3
cmp dword [ebp - 0x40], 0
jne case.0x42e00c.159
jmp 0x4320d7
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x432145
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432145
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 0x432170
cmp ecx, 0x40
je 0x432170
cmp ecx, 0x60
je 0x432170
cmp ecx, 0xa0
jb 0x432164
cmp ecx, 0xd7ff
jbe 0x432170
cmp ecx, 0xe000
jae 0x432170
xor eax, eax
jmp 0x432175
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432101
jmp 0x431be6
cmp edi, 0x16
jne 0x432315
mov ebx, 1
mov dword [ebp - 0x50], ebx
cmp esi, ebx
jl 0x43230d
mov edx, dword [ebp - 0x18]
nop dword [eax]
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
cmp edx, edi
jae 0x43551e
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x4321fa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4321fa
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 0x432203
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x43221d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx esi, byte [eax*8 + 0x45623a]
cmp edx, edi
jae 0x4322d6
mov ebx, dword [ebp - 0x18]
nop word [eax + eax]
cmp dword [ebp - 0x20], 0
mov edx, 1
movzx ecx, word [ebx]
je 0x43227b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43227b
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 0x432284
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x43229e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx ecx, byte [eax*8 + 0x45623a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552c8], eax
je 0x4322cd
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp ebx, edi
jb 0x432240
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 0x4322fb
cmp edx, edi
jb 0x4322fb
cmp edx, dword [eax + 0x60]
jbe 0x4322fb
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
mov esi, dword [ebp - 0x24]
inc ebx
mov dword [ebp - 0x50], ebx
cmp ebx, esi
jle 0x4321b0
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
cmp dword [ebp - 0x20], 0
lea eax, [edi - 6]
je 0x432a18
cmp eax, 0xf
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x43761c]
mov ebx, 1
cmp esi, ebx
jl 0x43230d
mov edx, dword [ebp - 0x18]
lea edi, [edx + 2]
jmp 0x432346
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp edx, ecx
jae 0x43551e
mov esi, dword [ebp - 0x14]
mov eax, dword [eax + 0x8c]
add esi, 0x90
test eax, eax
je 0x432408
push dword [ebp - 0x20]
push esi
push ecx
push eax
push edx
call fcn.0043a430
add esp, 0x14
test eax, eax
jne case.0x42e00c.159
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x4323c5
cmp edi, dword [eax + 0x54]
jb 0x4323c5
cmp dword [eax + 0x8c], 0
jne 0x4323c5
cmp dword [esi], 2
jne 0x4323c5
mov edx, dword [ebp - 0x14]
mov ax, word [ecx]
cmp ax, word [edx + 0x94]
mov eax, edx
jne 0x4323c5
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
add ecx, 2
add edi, 2
mov dword [ebp - 0x18], ecx
cmp ecx, dword [eax + 0x54]
jae 0x4323f1
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4323f1
add ecx, 2
add edi, 2
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x24]
inc ebx
cmp ebx, esi
jle 0x432343
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
jmp 0x431bef
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp dword [ebp - 0x18], ecx
ja 0x432382
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ax, word [ecx]
cmp ax, word [edx + 0x94]
mov edx, dword [esi]
jne 0x432385
cmp edx, 1
je case.0x42e00c.159
mov edx, dword [ebp - 0x14]
mov ax, word [edi]
cmp ax, word [edx + 0x96]
je case.0x42e00c.159
jmp 0x432385
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x435a90
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
jae 0x432489
mov ax, word [ebx]
and ax, word [ebp - 0x6c]
cmp ax, word [ebp - 0x60]
jne 0x432489
add ebx, 2
mov dword [ebp - 0x18], ebx
inc edx
cmp edx, esi
jle 0x432464
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov eax, dword [ebp - 0x14]
lea ecx, [esi + esi]
mov eax, dword [eax + 0x54]
sub eax, ecx
cmp ebx, eax
ja case.0x42e00c.159
add ebx, ecx
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov edi, dword [ebp - 0x24]
mov esi, 1
cmp edi, esi
jl 0x431be3
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, edx
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43250e
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 0x432531
je 0x43251f
cmp ecx, 0xa
je 0x432556
lea eax, [ecx - 0xb]
jmp 0x43253f
cmp ebx, edx
jae 0x432556
cmp word [ebx], 0xa
jne 0x432556
add ebx, 2
mov dword [ebp - 0x18], ebx
jmp 0x432556
cmp ecx, 0x85
je 0x432548
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je case.0x42e00c.159
inc esi
cmp esi, edi
jle 0x4324d0
jmp 0x431be3
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4325b5
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 0x4325e7
je case.0x42e00c.159
cmp ecx, 0xa0
ja 0x4325df
je case.0x42e00c.159
cmp ecx, 9
je case.0x42e00c.159
cmp ecx, 0x20
jmp 0x432617
cmp ecx, 0x1680
jmp 0x432617
cmp ecx, 0x205f
ja 0x432611
je case.0x42e00c.159
cmp ecx, 0x2000
jb 0x43261d
cmp ecx, 0x200a
jbe case.0x42e00c.159
cmp ecx, 0x202f
jmp 0x432617
cmp ecx, 0x3000
je case.0x42e00c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432577
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43267e
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 0x4326a4
je 0x4326d6
cmp ecx, 0xa0
ja 0x43269c
je 0x4326d6
cmp ecx, 9
je 0x4326d6
cmp ecx, 0x20
jmp 0x4326d0
cmp ecx, 0x1680
jmp 0x4326d0
cmp ecx, 0x205f
ja 0x4326ca
je 0x4326d6
cmp ecx, 0x2000
jb case.0x42e00c.159
cmp ecx, 0x200a
jbe 0x4326d6
cmp ecx, 0x202f
jmp 0x4326d0
cmp ecx, 0x3000
jne case.0x42e00c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432640
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432736
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 0x43274e
je case.0x42e00c.159
cmp ecx, 0xa
jb 0x432762
cmp ecx, 0xd
jmp 0x43275c
cmp ecx, 0x2028
jb 0x432762
cmp ecx, 0x2029
jbe case.0x42e00c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x4326f8
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4327be
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 0x4327d0
je 0x4327df
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x4327d9
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e00c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432780
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
cmp ebx, esi
jae 0x435a90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43283e
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 0x432856
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne case.0x42e00c.159
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x432800
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a93
movzx ecx, word [ebx]
cmp ecx, 0x80
jae case.0x42e00c.159
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je case.0x42e00c.159
mov eax, dword [ebp - 0x14]
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432874
jmp 0x431be6
mov edi, dword [ebp - 0x24]
mov esi, 1
cmp edi, esi
jl 0x431be3
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x435a93
movzx ecx, word [ebx]
cmp ecx, 0x80
jae 0x4328e2
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne case.0x42e00c.159
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edx
jae 0x432907
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x432907
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
inc esi
cmp esi, edi
jle 0x4328c2
jmp 0x431be3
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a93
movzx ecx, word [ebx]
cmp ecx, 0x80
jae case.0x42e00c.159
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je case.0x42e00c.159
mov eax, dword [ebp - 0x14]
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432927
jmp 0x431be6
mov edi, dword [ebp - 0x24]
mov esi, 1
cmp edi, esi
jl 0x431be3
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x435a93
movzx ecx, word [ebx]
cmp ecx, 0x80
jae 0x432995
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne case.0x42e00c.159
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edx
jae 0x4329ba
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4329ba
add ebx, 2
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
inc esi
cmp esi, edi
jle 0x432975
jmp 0x431be3
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
cmp ebx, esi
jae 0x435a93
movzx ecx, word [ebx]
cmp ecx, 0x80
jae case.0x42e00c.159
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e00c.159
mov eax, dword [ebp - 0x14]
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x4329e0
jmp 0x431be6
cmp eax, 0xf
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x43765c]
mov edi, 1
cmp esi, edi
jl 0x43230a
mov edx, dword [ebp - 0x14]
nop dword [eax + eax]
mov ecx, dword [edx + 0x54]
cmp ebx, ecx
jae 0x435aa6
mov eax, dword [edx + 0x8c]
lea esi, [edx + 0x90]
test eax, eax
je 0x432ac8
push 0
push esi
push ecx
push eax
push ebx
call fcn.0043a430
add esp, 0x14
test eax, eax
jne case.0x42e00c.159
mov edx, dword [ebp - 0x14]
cmp word [edx + 0x40], 0
je 0x432aaf
lea eax, [ebx + 2]
cmp eax, dword [edx + 0x54]
jb 0x432aaf
cmp dword [edx + 0x8c], 0
jne 0x432aaf
cmp dword [esi], 2
jne 0x432aaf
mov ax, word [ebx]
cmp ax, word [edx + 0x94]
jne 0x432aaf
mov dword [edx + 0x18], 1
cmp word [edx + 0x40], 1
ja 0x42f20d
mov esi, dword [ebp - 0x24]
add ebx, 2
inc edi
mov dword [ebp - 0x18], ebx
cmp edi, esi
jle 0x432a40
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x432a71
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x432b03
cmp edx, 1
je case.0x42e00c.159
mov ax, word [ebx + 2]
mov edx, ecx
cmp ax, word [edx + 0x96]
je case.0x42e00c.159
jmp 0x432a74
mov edx, ecx
jmp 0x432a74
mov edx, dword [ebp - 0x14]
lea ecx, [esi + esi]
mov eax, dword [edx + 0x54]
sub eax, ecx
cmp ebx, eax
ja 0x435aa6
add ebx, ecx
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, ecx
jae 0x435a93
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0xd
jg 0x432b77
je 0x432b62
cmp eax, 0xa
je 0x432b9c
add eax, 0xfffffff5
jmp 0x432b83
cmp ebx, ecx
jae 0x432b9c
cmp word [ebx], 0xa
mov eax, dword [ebp - 0x14]
jne 0x432b9f
add ebx, 2
mov dword [ebp - 0x18], ebx
jmp 0x432b9f
cmp eax, 0x85
je 0x432b8c
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je case.0x42e00c.159
jmp 0x432b9f
mov eax, dword [ebp - 0x14]
inc edx
cmp edx, esi
jle 0x432b40
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov ecx, 1
cmp esi, ecx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop
cmp ebx, edx
jae 0x435a90
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x180e
jg 0x432c00
je case.0x42e00c.159
cmp eax, 0xa0
jg 0x432bf9
je case.0x42e00c.159
cmp eax, 9
je case.0x42e00c.159
cmp eax, 0x20
jmp 0x432c2b
cmp eax, 0x1680
jmp 0x432c2b
cmp eax, 0x205f
jg 0x432c26
je case.0x42e00c.159
cmp eax, 0x2000
jl 0x432c31
cmp eax, 0x200a
jle case.0x42e00c.159
cmp eax, 0x202f
jmp 0x432c2b
cmp eax, 0x3000
je case.0x42e00c.159
inc ecx
cmp ecx, esi
jle 0x432bc0
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov ecx, 1
cmp esi, ecx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x435a90
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x180e
jg 0x432c85
je 0x432cb2
cmp eax, 0xa0
jg 0x432c7e
je 0x432cb2
cmp eax, 9
je 0x432cb2
cmp eax, 0x20
jmp 0x432cac
cmp eax, 0x1680
jmp 0x432cac
cmp eax, 0x205f
jg 0x432ca7
je 0x432cb2
cmp eax, 0x2000
jl case.0x42e00c.159
cmp eax, 0x200a
jle 0x432cb2
cmp eax, 0x202f
jmp 0x432cac
cmp eax, 0x3000
jne case.0x42e00c.159
inc ecx
cmp ecx, esi
jle 0x432c51
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov ecx, 1
cmp esi, ecx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x435a90
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x85
jg 0x432cfa
je case.0x42e00c.159
cmp eax, 0xa
jl 0x432d0c
cmp eax, 0xd
jmp 0x432d06
cmp eax, 0x2028
jl 0x432d0c
cmp eax, 0x2029
jle case.0x42e00c.159
inc ecx
cmp ecx, esi
jle 0x432cd2
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov ecx, 1
cmp esi, ecx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, edx
jae 0x435a90
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp eax, 0x85
jg 0x432d52
je 0x432d60
add eax, 0xfffffff6
cmp eax, 3
jmp 0x432d5a
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e00c.159
inc ecx
cmp ecx, esi
jle 0x432d30
mov ebx, dword [ebp - 0x20]
jmp 0x431bec
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
cmp ebx, esi
jae 0x435a90
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x432da7
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne case.0x42e00c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432d80
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
cmp ebx, esi
jae 0x435a90
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja case.0x42e00c.159
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je case.0x42e00c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432dd0
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
cmp ebx, esi
jae 0x435a90
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x432e47
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne case.0x42e00c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432e20
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
cmp ebx, esi
jae 0x435a90
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja case.0x42e00c.159
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je case.0x42e00c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432e70
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
cmp ebx, esi
jae 0x435a90
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x432ee7
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne case.0x42e00c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432ec0
jmp 0x431be6
mov edx, 1
cmp esi, edx
jl 0x43230d
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
cmp ebx, esi
jae 0x435a90
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja case.0x42e00c.159
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e00c.159
add ebx, 2
inc edx
mov dword [ebp - 0x18], ebx
cmp edx, dword [ebp - 0x24]
jle 0x432f10
jmp 0x431be6
cmp esi, edx
jge 0x4335d6
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 0x432f9f
cmp dword [ebp - 0x20], 0
je 0x432f86
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 0x4335d6
inc esi
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x432f60
jmp 0x4335d6
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4335d9
cmp ebx, dword [esi + 0x60]
jbe 0x4335d9
mov dword [esi + 0x18], ecx
cmp word [esi + 0x40], cx
ja 0x42f20d
jmp 0x4335d9
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433023
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433023
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 0x43302c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433046
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp eax, 9
je 0x43306b
cmp eax, 5
je 0x43306b
cmp eax, 8
je 0x43306b
xor eax, eax
jmp 0x433070
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x4335d6
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 0x432fe0
jmp 0x4335d6
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4335d9
cmp ebx, dword [esi + 0x60]
jbe 0x4335d9
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42f20d
jmp 0x4335d9
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x43310f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43310f
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 0x433118
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433132
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp dword [eax*4 + 0x455300], edi
mov edi, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x4335d6
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 0x4330d0
jmp 0x4335d6
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x4331d3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4331d3
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 0x4331dc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4331f6
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x4335d6
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 0x433190
jmp 0x4335d6
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433293
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433293
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 0x43329c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4332b6
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456238]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x4335d6
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 0x433250
jmp 0x4335d6
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433353
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433353
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 0x43335c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433376
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x43339d
cmp eax, 3
je 0x43339d
xor eax, eax
jmp 0x4333a2
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x4335d6
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 0x433310
jmp 0x4335d6
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433423
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433423
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 0x433466
je case.0x433482.8192
cmp ecx, 0x85
ja 0x433452
je case.0x433482.8192
cmp ecx, 9
jb case.0x433482.8203
cmp ecx, 0xd
jbe case.0x433482.8192
cmp ecx, 0x20
jmp 0x433497
cmp ecx, 0xa0
je case.0x433482.8192
cmp ecx, 0x1680
jmp 0x433497
cmp ecx, 0x202f
ja 0x433489
je case.0x433482.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x433482.8203
movzx eax, byte [eax + 0x4376a4]
jmp dword [eax*4 + 0x43769c]
cmp ecx, 0x205f
je case.0x433482.8192
cmp ecx, 0x3000
je case.0x433482.8192
mov eax, ecx
test eax, eax
jns 0x4334a2
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4334bc
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp dword [eax*4 + 0x455300], 6
sete cl
cmp ecx, dword [ebp - 0x40]
je 0x4335d6
jmp 0x4334f0
cmp dword [ebp - 0x40], 0
jne 0x4335d6
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 0x4333e0
jmp 0x4335d6
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x4335ee
cmp dword [ebp - 0x20], 0
movzx edx, word [ebx]
je 0x433563
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433563
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 0x43356c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x433587
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x4335b3
cmp eax, 3
je 0x4335b3
cmp edx, 0x5f
je 0x4335b3
xor eax, eax
jmp 0x4335b8
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x4335d3
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 0x433520
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x4348dc
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x43360f
cmp ebx, dword [esi + 0x60]
jbe 0x43360f
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
mov edi, dword [ebp - 0x3c]
jmp 0x4335d9
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x54]
nop
mov esi, 1
cmp ebx, edi
jae 0x4335ee
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x43365f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43365f
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 + 0x4560f8]
lea eax, [eax*4 + 0x4560f8]
cmp ecx, edx
jb 0x433681
lea eax, [eax + 4]
cmp ecx, edx
je 0x4336a2
mov edx, dword [eax]
cmp ecx, edx
jae 0x433674
cmp dword [ebp - 0x40], 0
je 0x4335d3
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 0x433620
jmp 0x4335d3
cmp dword [ebp - 0x40], 0
jne 0x4335d3
jmp 0x43368b
cmp esi, edx
jge 0x4335d6
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x433094
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
je 0x433703
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433703
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 0x43372e
cmp ecx, 0x40
je 0x43372e
cmp ecx, 0x60
je 0x43372e
cmp ecx, 0xa0
jb 0x433722
cmp ecx, 0xd7ff
jbe 0x43372e
cmp ecx, 0xe000
jae 0x43372e
xor eax, eax
jmp 0x433733
mov eax, 1
cmp eax, dword [ebp - 0x40]
je 0x4335d6
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 0x4336c0
jmp 0x4335d6
mov eax, dword [ebp - 0x38]
cmp eax, 0x16
jne 0x4338f3
cmp esi, edx
mov esi, dword [ebp - 0x14]
jge 0x4338de
nop
mov edi, dword [esi + 0x54]
cmp ebx, edi
jae 0x4338bd
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ebx
je 0x4337b7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4337b7
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 0x4337c0
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4337da
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx esi, byte [eax*8 + 0x45623a]
cmp ebx, edi
jae 0x433887
cmp dword [ebp - 0x20], 0
mov edx, 1
movzx ecx, word [ebx]
je 0x43382f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43382f
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 0x433838
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x433852
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx ecx, byte [eax*8 + 0x45623a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552c8], eax
je 0x433881
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp ebx, edi
jb 0x4337f4
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x4338ac
cmp ebx, edi
jb 0x4338ac
cmp ebx, dword [esi + 0x60]
jbe 0x4338ac
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x433770
jmp 0x4338db
cmp word [esi + 0x40], 0
je 0x4338db
cmp ebx, dword [esi + 0x60]
jbe 0x4338db
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x48], 0
je 0x434938
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
add eax, 0xfffffffa
cmp dword [ebp - 0x20], 0
je 0x434071
cmp eax, 0xf
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x4376d0]
cmp esi, edx
mov esi, dword [ebp - 0x14]
jge 0x433954
lea edi, [ebx + 2]
nop word [eax + eax]
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x433a22
mov eax, dword [esi + 0x8c]
add esi, 0x90
test eax, eax
je 0x433969
push dword [ebp - 0x20]
push esi
push ecx
push eax
push ebx
call fcn.0043a430
add esp, 0x14
test eax, eax
je 0x43399c
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434aa9
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x43399c
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x43399c
cmp edx, 1
je 0x434060
mov ax, word [edi]
cmp ax, word [ecx + 0x96]
je 0x434060
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je 0x4339dc
cmp edi, dword [eax + 0x54]
jb 0x4339dc
cmp dword [eax + 0x8c], 0
jne 0x4339dc
cmp dword [esi], 2
jne 0x4339dc
mov esi, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [esi + 0x94]
jne 0x4339de
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x4339de
mov esi, eax
add ebx, 2
add edi, 2
mov dword [ebp - 0x18], ebx
cmp ebx, dword [esi + 0x54]
jae 0x433a0a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x433a0a
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 0x433920
mov edi, dword [ebp - 0x3c]
jmp 0x433954
cmp word [esi + 0x40], 0
je 0x433a40
cmp ebx, dword [esi + 0x60]
jbe 0x433a40
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
mov edi, dword [ebp - 0x3c]
jmp 0x433954
cmp edx, 0x7fffffff
jge 0x433ab9
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop
cmp ebx, ecx
jae 0x433a8b
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
jae 0x433a81
mov ax, word [ebx]
and ax, word [ebp - 0x6c]
cmp ax, word [ebp - 0x60]
jne 0x433a81
add ebx, 2
mov dword [ebp - 0x18], ebx
inc esi
cmp esi, edx
jl 0x433a60
jmp 0x433951
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x433954
cmp ebx, dword [esi + 0x60]
jbe 0x433954
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x433954
mov esi, dword [ebp - 0x14]
mov ebx, dword [esi + 0x54]
cmp word [esi + 0x40], 0
mov dword [ebp - 0x18], ebx
je 0x433954
cmp ebx, dword [esi + 0x60]
jbe 0x433954
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x433954
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 0x433b03
mov ebx, ecx
jmp 0x433abf
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x18], ebx
jmp 0x433954
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433b5d
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 0x433b7b
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, esi
jae 0x433951
cmp word [ebx], 0xa
jne 0x433bba
add ebx, 2
jmp 0x433bb7
cmp ecx, 0xa
je 0x433bb4
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
je 0x43406a
cmp ecx, 0xb
je 0x433bb4
cmp ecx, 0xc
je 0x433bb4
cmp ecx, 0x85
je 0x433bb4
cmp ecx, 0x2028
je 0x433bb4
cmp ecx, 0x2029
jne 0x43406a
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 0x433b20
jmp 0x433951
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x433954
cmp ebx, dword [esi + 0x60]
jbe 0x433954
mov dword [esi + 0x18], edx
cmp word [esi + 0x40], dx
ja 0x42f20d
jmp 0x433954
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433c3f
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 0x433c65
je 0x433c93
cmp ecx, 0xa0
ja 0x433c5d
je 0x433c93
cmp ecx, 9
je 0x433c93
cmp ecx, 0x20
jmp 0x433c8d
cmp ecx, 0x1680
jmp 0x433c8d
cmp ecx, 0x205f
ja 0x433c87
je 0x433c93
cmp ecx, 0x2000
jb 0x433c8f
cmp ecx, 0x200a
jbe 0x433c93
cmp ecx, 0x202f
jmp 0x433c8d
cmp ecx, 0x3000
je 0x433c93
xor ecx, ecx
jmp 0x433c98
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x38], 0x12
sete al
cmp ecx, eax
je 0x433951
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 0x433c06
jmp 0x433951
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433d0f
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 0x433d4d
je 0x433d58
cmp ecx, 0xa
jb 0x433d23
cmp ecx, 0xd
jbe 0x433d58
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x38], 0x14
sete al
cmp ecx, eax
je 0x433951
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 0x433cd2
jmp 0x433951
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x433d23
mov ecx, 1
jmp 0x433d25
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433dad
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 0x433dc5
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne 0x433951
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 0x433d70
jmp 0x433951
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433e2d
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 0x433951
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je 0x433951
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 0x433df0
jmp 0x433951
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433ead
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 0x433ec5
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne 0x433951
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 0x433e70
jmp 0x433951
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433f2d
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 0x433951
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je 0x433951
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 0x433ef0
jmp 0x433951
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x433fad
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 0x433fc5
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne 0x433951
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 0x433f70
jmp 0x433951
cmp esi, edx
jge 0x433951
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x54]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x433bcf
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43402d
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 0x433951
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x433951
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 0x433ff0
jmp 0x433951
mov edi, dword [ebp - 0x3c]
mov esi, ecx
jmp 0x433954
mov esi, eax
jmp 0x433954
cmp eax, 0xf
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x437710]
cmp esi, edx
mov esi, dword [ebp - 0x14]
jge 0x434203
nop dword [eax]
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x43421b
mov eax, dword [esi + 0x8c]
add esi, 0x90
test eax, eax
je 0x434104
push 0
push esi
push ecx
push eax
push ebx
call fcn.0043a430
add esp, 0x14
test eax, eax
jne 0x434200
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je 0x434137
lea eax, [ebx + 2]
cmp eax, dword [ecx + 0x54]
jb 0x434137
cmp dword [ecx + 0x8c], 0
jne 0x434137
cmp dword [esi], 2
mov esi, dword [ebp - 0x14]
jne 0x43413a
mov ax, word [ebx]
cmp ax, word [esi + 0x94]
jne 0x43413a
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x43413a
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4340c1
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x4340c4
cmp edx, 1
je 0x434130
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x96]
jne 0x4340c4
mov esi, ecx
jmp 0x434203
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 0x434090
jmp 0x434203
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 0x434194
cmp word [esi + 0x40], 0
mov ebx, ecx
mov dword [ebp - 0x18], ebx
je 0x434203
cmp ebx, dword [esi + 0x60]
jbe 0x434203
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x434203
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x18], ebx
jmp 0x434203
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x434218
movzx eax, word [ebx]
cmp eax, 0xd
jne 0x4341c4
add ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
jae 0x434200
cmp word [ebx], 0xa
jne 0x4341fb
jmp 0x4341f5
cmp eax, 0xa
je 0x4341f5
mov edi, dword [ebp - 0x14]
cmp word [edi + 0x42], 2
mov edi, dword [ebp - 0x3c]
je 0x434200
cmp eax, 0xb
je 0x4341f5
cmp eax, 0xc
je 0x4341f5
cmp eax, 0x85
je 0x4341f5
cmp eax, 0x2028
je 0x4341f5
cmp eax, 0x2029
jne 0x434200
add ebx, 2
mov dword [ebp - 0x18], ebx
inc esi
cmp esi, edx
jl 0x4341a6
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x48], 0
je 0x434b23
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp 0x42dfe3
mov esi, dword [ebp - 0x14]
cmp word [esi + 0x40], 0
je 0x434203
cmp ebx, dword [esi + 0x60]
jbe 0x434203
mov dword [esi + 0x18], 1
cmp word [esi + 0x40], 1
ja 0x42f20d
jmp 0x434203
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x434218
movzx eax, word [ebx]
cmp eax, 0x180e
jg 0x43426f
je 0x434200
cmp eax, 0xa0
jg 0x434268
je 0x434200
cmp eax, 9
je 0x434200
cmp eax, 0x20
jmp 0x434296
cmp eax, 0x1680
jmp 0x434296
cmp eax, 0x205f
jg 0x434291
je 0x434200
cmp eax, 0x2000
jl 0x43429c
cmp eax, 0x200a
jle 0x434200
cmp eax, 0x202f
jmp 0x434296
cmp eax, 0x3000
je 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434245
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop word [eax + eax]
cmp ebx, ecx
jae 0x434218
movzx eax, word [ebx]
cmp eax, 0x180e
jg 0x4342ee
je 0x43431b
cmp eax, 0xa0
jg 0x4342e7
je 0x43431b
cmp eax, 9
je 0x43431b
cmp eax, 0x20
jmp 0x434315
cmp eax, 0x1680
jmp 0x434315
cmp eax, 0x205f
jg 0x434310
je 0x43431b
cmp eax, 0x2000
jl 0x434200
cmp eax, 0x200a
jle 0x43431b
cmp eax, 0x202f
jmp 0x434315
cmp eax, 0x3000
jne 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x4342c0
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
nop dword [eax]
cmp ebx, ecx
jae 0x434218
movzx eax, word [ebx]
cmp eax, 0x85
jg 0x434362
je 0x434200
cmp eax, 0xa
jl 0x434374
cmp eax, 0xd
jmp 0x43436e
cmp eax, 0x2028
jl 0x434374
cmp eax, 0x2029
jle 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434340
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x434218
movzx eax, word [ebx]
cmp eax, 0x85
jg 0x4343ae
je 0x4343bc
add eax, 0xfffffff6
cmp eax, 3
jmp 0x4343b6
add eax, 0xffffdfd8
cmp eax, 1
ja 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, edx
jl 0x434392
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
nop word [eax + eax]
cmp ebx, edx
jae 0x434218
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434407
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x4343e0
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434218
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434200
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
je 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434426
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434218
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434497
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434470
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434218
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434200
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
je 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x4344b6
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434218
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434527
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434500
jmp 0x434200
cmp esi, edx
jge 0x434200
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x54]
cmp ebx, edx
jae 0x434218
movzx eax, word [ebx]
mov ecx, 0xff
cmp ax, cx
ja 0x434200
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x434200
add ebx, 2
inc esi
mov dword [ebp - 0x18], ebx
cmp esi, dword [ebp - 0x30]
jl 0x434546
jmp 0x434200
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 0x4345b8
lea eax, [edx + 4]
push eax
push dword [ebp - 0x18]
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x4346f0
push dword [ebp - 0x44]
push dword [ebp - 0x18]
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov edx, dword [ebp - 0x1c]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x4346f0
cmp dword [ebp - 0x30], 0x8d
je 0x434ccc
mov esi, dword [ebp - 0x14]
jmp 0x4346f0
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 0x434648
lea eax, [edx + 4]
push eax
push esi
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
movzx eax, word [ebx]
mov ecx, 0x82
cmp ax, cx
je 0x434dd3
mov ecx, 0x89
cmp ax, cx
jae 0x434da9
mov esi, dword [ebp - 0x14]
mov edx, ebx
mov dword [ebp - 0x1c], edx
jmp 0x4346f0
push ebx
push esi
call fcn.0042df10
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x434667
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0x70], ebx
jne 0x4372c2
jmp 0x434672
test eax, eax
jne 0x4372c2
mov edi, dword [ebp - 0x14]
mov eax, 0x82
cmp word [ebx], ax
je 0x434e10
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
add edx, 4
mov dword [ebp - 0x1c], edx
jmp 0x4346f0
cmp eax, ebx
jbe 0x4346ed
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x28]
inc esi
jmp 0x4346a3
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
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 0x4346e6
sub ecx, 2
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
ja 0x4346a0
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 0x4372ba
mov ecx, dword [ebp - 0x34]
jmp 0x42df88
cmp eax, ebx
je 0x4346ed
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp - 0x28]
inc esi
jmp 0x434723
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.0042df10
mov ecx, dword [ebp - 0x18]
add esp, 0x1c
sub ecx, 2
mov dword [ebp - 0x18], ecx
test eax, eax
jne 0x4372c2
cmp ecx, ebx
jne 0x434720
jmp 0x4346ea
cmp eax, edi
je 0x4346ed
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x434763
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.0042df10
mov ebx, dword [ebp - 0x18]
add esp, 0x1c
sub ebx, 2
mov dword [ebp - 0x18], ebx
test eax, eax
jne 0x4372c2
cmp ebx, edi
jne 0x434760
jmp 0x4346ea
cmp eax, edi
jbe 0x4346ed
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x4347a7
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
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 0x4347ec
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x4347a4
jmp 0x4346ea
cmp eax, edi
je 0x4346ed
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x434806
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov eax, dword [ebp - 0x18]
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, edi
jne 0x434803
jmp 0x4346ea
cmp eax, edi
jbe 0x4346ed
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x43484a
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
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 0x43488f
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x434847
jmp 0x4346ea
cmp eax, edi
je 0x4346ed
mov esi, dword [ebp + 0x20]
inc esi
jmp 0x4348a9
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov eax, dword [ebp - 0x18]
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, edi
jne 0x4348a6
jmp 0x4346ea
cmp ebx, edi
jbe 0x4346ed
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], eax
je 0x43492f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x43492f
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x4348e8
jmp 0x4346ea
cmp ebx, edi
jbe 0x4346ed
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
sub edx, 2
mov dword [ebp - 0x18], edx
test esi, esi
jne 0x43497a
movzx ecx, word [edx]
jmp 0x4349c0
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x434995
sub edx, 2
mov dword [ebp - 0x18], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4349c0
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 0x4349c9
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4349e3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx edi, byte [eax*8 + 0x45623a]
cmp edx, dword [ebp - 0x3c]
jbe 0x4346ea
add edx, 0xfffffffe
test esi, esi
jne 0x434a0a
movzx ecx, word [edx]
jmp 0x434a4d
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x434a22
sub edx, 2
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x434a4d
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 0x434a56
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x434a70
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, edi
movzx eax, word [eax*2 + 0x459ab8]
movzx esi, byte [eax*8 + 0x45623a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552c8], eax
je 0x434aa1
mov edi, esi
mov dword [ebp - 0x18], edx
mov esi, dword [ebp - 0x20]
jmp 0x4349f5
mov esi, dword [ebp - 0x14]
jmp 0x434944
cmp ebx, edi
jbe 0x4346ed
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
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 0x434af8
sub ebx, 2
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x38], 0x11
jne 0x434b1a
cmp ebx, edi
jbe 0x4346ea
cmp word [ebx], 0xa
jne 0x434b1a
cmp word [ebx - 2], 0xd
lea eax, [ebx - 2]
cmove ebx, eax
mov dword [ebp - 0x18], ebx
cmp ebx, edi
ja 0x434ab5
jmp 0x4346ea
cmp ebx, edi
je 0x4346ed
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
sub ebx, 2
cmp dword [ebp - 0x38], 0x11
mov dword [ebp - 0x18], ebx
jne 0x434b75
cmp ebx, edi
jbe 0x434b77
cmp word [ebx], 0xa
jne 0x434b75
cmp word [ebx - 2], 0xd
lea eax, [ebx - 2]
cmove ebx, eax
mov dword [ebp - 0x18], ebx
cmp ebx, edi
jne 0x434b30
jmp 0x4346ea
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 0x436e1a
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
nop dword [eax]
cmp edx, 0x89
jae 0x434bd9
cmp edx, 0x82
je 0x434bd9
cmp dword [esi + 0x1c], 0
mov edx, dword [ebp - 0x1c]
jne 0x434be3
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
je 0x434be3
movzx eax, word [edx]
movzx eax, byte [eax + 0x455168]
lea edx, [edx + eax*2]
mov dword [ebp - 0x1c], edx
jmp 0x4346f0
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [edx + eax*2]
push eax
push ebx
call fcn.0042df10
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc20
jne 0x434c47
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 0x436f74
mov ecx, dword [ebp - 0x1c]
cmp word [ecx], 0x78
je 0x434c52
cmp word [eax], 0x78
jne 0x436f74
jmp 0x434c52
test edx, edx
jne 0x436f35
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.0x42e00c.159
mov edx, dword [ebp - 0x30]
mov esi, eax
mov dword [esi + 0x7c], edi
jmp 0x434ba0
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 + 0x455168]
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
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.00424a0b
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.0042df10
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
sub eax, 1
je case.0x42e00c.159
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.00424a0b
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.00424a0b
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.00424a0b
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 0x434d93
mov dword [ecx + 0x64], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
pop edi
mov dword [esi + 0x70], ebx
mov eax, 0xfffffc1b
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 0x434ea4
mov dword [esi + 0x64], eax
pop edi
pop esi
mov eax, 0xfffffc1a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 0x434ed4
mov dword [esi + 0x64], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
jmp 0x42f356
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x42e00c.159
cmp ebx, dword [eax + 0x60]
jbe case.0x42e00c.159
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
jbe case.0x42e00c.159
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x40], 0
je case.0x42e00c.159
cmp eax, dword [esi + 0x60]
jbe case.0x42e00c.159
jmp 0x42f1fb
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x14]
jle 0x434f6a
mov eax, dword [ecx + 0x54]
jmp 0x434f6d
mov eax, dword [ebp - 0x18]
cmp word [ecx + 0x40], 0
je case.0x42e00c.159
cmp eax, dword [ecx + 0x54]
jb case.0x42e00c.159
cmp eax, dword [ecx + 0x60]
jbe case.0x42e00c.159
mov dword [ecx + 0x18], 1
cmp word [ecx + 0x40], 1
jmp 0x42f207
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 0x4350e8
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.00437830
add esp, 0x18
test eax, eax
jne 0x434ffa
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 0x434fc0
mov edx, dword [ebp - 0x14]
jmp 0x435023
mov edx, dword [ebp - 0x14]
jle 0x435020
cmp word [edx + 0x40], 0
je 0x435020
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x60]
jbe 0x435020
mov dword [edx + 0x18], 1
cmp word [edx + 0x40], 1
ja 0x42f20d
mov ecx, dword [ebp - 0x18]
test edi, edi
je 0x435037
mov ebx, dword [ebp - 0x60]
cmp ecx, ebx
jb case.0x42e00c.159
jmp 0x4350eb
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.0042df10
mov edx, eax
add esp, 0x1c
test edx, edx
jne 0x436f22
mov eax, dword [ebp - 0x4c]
mov ecx, ebx
sub ecx, eax
mov edx, dword [ebp - 0x60]
cmp dword [ebp - 0x18], edx
je case.0x42e00c.159
dec ebx
mov dword [ebp - 0x18], edx
dec ecx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x68], ecx
cmp eax, ebx
jge 0x4350ac
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.00437830
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 0x435083
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.0042df10
mov ecx, dword [ebp - 0x68]
mov edx, eax
mov eax, dword [ebp - 0x4c]
add esp, 0x1c
test edx, edx
je 0x435063
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
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 0x4350f0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
jle 0x43513b
mov ebx, dword [edi + 0x54]
cmp word [edi + 0x40], 0
je case.0x42e00c.159
cmp ebx, dword [edi + 0x54]
jb case.0x42e00c.159
cmp ebx, dword [edi + 0x60]
jbe case.0x42e00c.159
mov dword [edi + 0x18], 1
cmp word [edi + 0x40], 1
jmp 0x42f207
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x42e00c.159
jmp 0x434f81
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ecx, dword [ebp - 0x18]
mov eax, ecx
sub ecx, 2
mov dword [ebp - 0x18], ecx
cmp eax, ebx
je case.0x42e00c.159
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4351bc
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.0042df10
add esp, 0x1c
test eax, eax
je 0x435192
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp eax, ebx
jb case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov eax, dword [ebp - 0x18]
sub eax, 2
mov dword [ebp - 0x18], eax
cmp eax, ebx
jae 0x4351f4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
cmp dword [ebp - 0x20], 0
je 0x435345
test eax, eax
jne 0x4372c2
mov edi, dword [ebp - 0x38]
nop dword [eax]
cmp edi, dword [ebp - 0x24]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x54]
jae 0x435320
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 0x18], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4352be
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 0x4352d2
cmp dword [ebp - 0x30], 0x6e
je case.0x42e00c.159
jmp 0x4352ed
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435270
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [eax + 0x40], 0
je case.0x42e00c.159
cmp ecx, dword [eax + 0x60]
jbe case.0x42e00c.159
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
jmp 0x42f207
test eax, eax
jne 0x4372c2
mov edi, dword [ebp - 0x38]
cmp edi, dword [ebp - 0x24]
jge case.0x42e00c.159
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x54]
jae 0x435160
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0x18], eax
cmp edx, 0xff
jbe 0x435385
cmp dword [ebp - 0x30], 0x6e
je case.0x42e00c.159
jmp 0x4353a3
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435350
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ecx, dword [ebp - 0x18]
mov eax, ecx
sub ecx, 2
mov dword [ebp - 0x18], ecx
cmp eax, ebx
je case.0x42e00c.159
cmp dword [ebp - 0x20], 0
je 0x43542a
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x43542a
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.0042df10
add esp, 0x1c
test eax, eax
je 0x4353f6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
nop dword [eax]
cmp edi, dword [ebp - 0x38]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x54]
jae 0x43551e
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x4354d4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4354d4
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.0043b9a0
add esp, 0xc
test eax, eax
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435480
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [eax + 0x40], 0
je case.0x42e00c.159
cmp edx, dword [eax + 0x60]
jmp 0x43532e
cmp word [esi + 0x40], 0
je case.0x42e00c.159
cmp ebx, dword [esi + 0x54]
jb case.0x42e00c.159
cmp ebx, dword [esi + 0x60]
jbe case.0x42e00c.159
jmp 0x42f1fb
cmp word [esi + 0x40], 0
je case.0x42e00c.159
jmp 0x435545
cmp word [esi + 0x40], 0
je case.0x42e00c.159
cmp eax, dword [esi + 0x60]
jmp 0x435548
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x42e00c.159
mov eax, dword [ebp - 0x18]
jmp 0x434f78
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
lea ebx, [edi + edi]
mov dword [ebp - 0x58], ebx
cmp esi, dword [ebp - 0x30]
jge case.0x42e00c.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 0x435627
mov edx, dword [ebp - 0x44]
mov esi, ebx
sub esi, 4
jb 0x4355e8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4355ed
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4355d7
cmp esi, 0xfffffffc
je 0x43561a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x435624
cmp esi, 0xfffffffd
je 0x43561a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x435624
cmp esi, 0xfffffffe
je 0x43561a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x435624
cmp esi, 0xffffffff
je 0x43561a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x435624
mov edi, dword [ebp - 0x18]
add edi, ebx
jmp 0x43569c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
test eax, eax
jle 0x4356dc
lea ebx, [eax + eax]
sub edi, ebx
cmp ecx, edi
mov edi, dword [ebp - 0x18]
ja 0x4356df
mov esi, ebx
lea edx, [ebp - 0x10]
mov ecx, edi
sub esi, 4
jb 0x435661
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x435666
add ecx, 4
add edx, 4
sub esi, 4
jae 0x435650
cmp esi, 0xfffffffc
je 0x435697
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4356df
cmp esi, 0xfffffffd
je 0x435697
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4356df
cmp esi, 0xfffffffe
je 0x435697
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4356df
cmp esi, 0xffffffff
je 0x435697
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4356df
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.0042df10
add esp, 0x1c
test eax, eax
je 0x4355b3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x42e00c.159
cmp edi, dword [eax + 0x54]
jb case.0x42e00c.159
cmp edi, dword [eax + 0x60]
jmp 0x43532e
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x50]
nop word [eax + eax]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x54]
jae 0x43551e
movzx eax, word [edx]
cmp ebx, eax
je 0x43575a
cmp edi, eax
jne case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435730
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x50]
nop word [eax + eax]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x14]
cmp edi, dword [edx + 0x54]
jae 0x435812
movzx eax, word [edi]
add edi, 2
cmp ebx, eax
jne case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x4357c0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [edx + 0x40], 0
je case.0x42e00c.159
cmp edi, dword [edx + 0x60]
jbe case.0x42e00c.159
mov dword [edx + 0x18], 1
cmp word [edx + 0x40], 1
jmp 0x42f207
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 0x4358f4
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
cmp ebx, dword [ebp - 0x38]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, dword [eax + 0x54]
jae 0x43551e
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp - 0x18], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4358b4
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.0x42e00c.159
cmp edi, ecx
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435866
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
cmp ebx, dword [ebp - 0x38]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [edx + 0x54]
jae 0x43595f
movzx eax, word [ecx]
cmp dword [ebp - 0x30], eax
je case.0x42e00c.159
cmp edi, eax
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435904
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [edx + 0x40], 0
je case.0x42e00c.159
cmp ecx, dword [edx + 0x60]
jmp 0x435820
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 0x435a1b
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
nop
cmp ebx, dword [ebp - 0x38]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x14]
cmp edi, dword [edx + 0x54]
jae 0x435812
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4359e5
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.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x4359a0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x38]
jge case.0x42e00c.159
mov ecx, dword [ebp - 0x14]
cmp edi, dword [ecx + 0x54]
jae 0x435a7d
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x30], eax
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435a30
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [ecx + 0x40], 0
je case.0x42e00c.159
cmp edi, dword [ecx + 0x60]
jmp 0x434f84
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x42e00c.159
cmp ebx, dword [eax + 0x60]
jmp 0x43532e
cmp word [edx + 0x40], 0
je case.0x42e00c.159
cmp ebx, dword [edx + 0x60]
jmp 0x435820
test eax, eax
js 0x4364db
cmp eax, 0xa
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x437750]
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
nop dword [eax + eax]
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebx + 0x54]
jae 0x435b6d
movzx eax, word [ecx]
add ecx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ecx
je 0x435b35
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435b35
add ecx, 2
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x40], 0
jne case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435b00
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [ebx + 0x40], 0
je case.0x42e00c.159
cmp ecx, dword [ebx + 0x60]
jbe case.0x42e00c.159
mov dword [ebx + 0x18], 1
cmp word [ebx + 0x40], 1
jmp 0x42f207
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x435c11
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435c11
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 0x435c1a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x435c34
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp eax, 9
je 0x435c59
cmp eax, 5
je 0x435c59
cmp eax, 8
je 0x435c59
xor eax, eax
jmp 0x435c5e
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435bc0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp word [edi + 0x40], 0
je case.0x42e00c.159
cmp edx, dword [edi + 0x60]
jmp 0x43514a
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x435d21
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435d21
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 0x435d2a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x435d44
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp dword [eax*4 + 0x455300], edi
mov edi, dword [ebp - 0x14]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435cd4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
nop dword [eax + eax]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x435e21
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435e21
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 0x435e2a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x435e44
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435dd0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x435f12
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x435f12
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 0x435f1b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x435f35
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456238]
cmp eax, dword [ebp - 0x54]
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435ec1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436003
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436003
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 0x43600c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436026
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x43604d
cmp eax, 3
je 0x43604d
xor eax, eax
jmp 0x436052
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x435fb2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436106
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436106
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 0x436149
je case.0x436169.8192
cmp ecx, 0x85
ja 0x436135
je case.0x436169.8192
cmp ecx, 9
jb case.0x436169.8203
cmp ecx, 0xd
jbe case.0x436169.8192
cmp ecx, 0x20
jmp 0x43617e
cmp ecx, 0xa0
je case.0x436169.8192
cmp ecx, 0x1680
jmp 0x43617e
cmp ecx, 0x202f
ja 0x436170
je case.0x436169.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x436169.8203
movzx eax, byte [eax + 0x437784]
jmp dword [eax*4 + 0x43777c]
cmp ecx, 0x205f
je case.0x436169.8192
cmp ecx, 0x3000
je case.0x436169.8192
mov eax, ecx
test eax, eax
jns 0x436189
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4361a3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
cmp dword [eax*4 + 0x455300], 6
sete cl
cmp ecx, dword [ebp - 0x40]
je case.0x42e00c.159
jmp 0x4361d7
cmp dword [ebp - 0x40], 0
jne case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x4360b5
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
cmp edi, dword [ebp - 0x30]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae 0x435a93
movzx edx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
je 0x43627e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43627e
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 0x436287
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4578b8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4362a2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x459ab8]
movzx eax, byte [eax*8 + 0x456239]
mov eax, dword [eax*4 + 0x455300]
cmp eax, 1
je 0x4362ce
cmp eax, 3
je 0x4362ce
cmp edx, 0x5f
je 0x4362ce
xor eax, eax
jmp 0x4362d3
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x436233
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
nop word [eax + eax]
cmp edi, dword [ebp - 0x30]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae 0x435a93
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
je 0x43638b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43638b
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 + 0x4560f8]
lea eax, [eax*4 + 0x4560f8]
cmp ecx, edx
jb 0x4363ad
lea eax, [eax + 4]
cmp ecx, edx
je 0x4363ea
mov edx, dword [eax]
cmp ecx, edx
jae 0x4363a0
cmp dword [ebp - 0x40], 0
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x436340
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x40], 0
jne case.0x42e00c.159
jmp 0x4363b7
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x24]
nop
cmp ebx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov edx, dword [ebp - 0x18]
cmp edx, dword [edi + 0x54]
jae 0x435c98
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436471
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436471
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 0x43649c
cmp ecx, 0x40
je 0x43649c
cmp ecx, 0x60
je 0x43649c
cmp ecx, 0xa0
jb 0x436490
cmp ecx, 0xd7ff
jbe 0x43649c
cmp ecx, 0xe000
jae 0x43649c
xor eax, eax
jmp 0x4364a1
mov eax, 1
cmp eax, dword [ebp - 0x40]
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x436420
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
cmp edi, 0x16
jne 0x4366a2
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.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
nop dword [eax]
cmp esi, dword [ebp - 0x30]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov edi, dword [eax + 0x54]
cmp edx, edi
jae 0x43551e
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
je 0x436566
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x436566
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 0x43656f
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x436589
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx esi, byte [eax*8 + 0x45623a]
cmp edx, edi
jae 0x436646
mov ebx, dword [ebp - 0x18]
nop word [eax + eax]
cmp dword [ebp - 0x20], 0
mov edx, 1
movzx ecx, word [ebx]
je 0x4365eb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4365eb
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 0x4365f4
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4578b8]
shl eax, 7
and ecx, 0x8000007f
jns 0x43660e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x459ab8]
movzx ecx, byte [eax*8 + 0x45623a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4552c8], eax
je 0x43663d
lea ebx, [ebx + edx*2]
mov esi, ecx
cmp ebx, edi
jb 0x4365b0
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 0x43666b
cmp edx, edi
jb 0x43666b
cmp edx, dword [eax + 0x60]
jbe 0x43666b
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
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.0042df10
add esp, 0x1c
test eax, eax
je 0x436510
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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.0042df10
add esp, 0x1c
test ebx, ebx
je 0x436a78
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x435a93
cmp edi, 0xc
jne 0x436754
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x436719
push dword [ebp - 0x20]
add eax, 0x90
push eax
push ecx
push edx
push ebx
call fcn.0043a430
add esp, 0x14
test eax, eax
jne case.0x42e00c.159
jmp 0x436751
mov edx, dword [eax + 0x90]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x436751
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x436751
cmp edx, 1
je case.0x42e00c.159
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x96]
je case.0x42e00c.159
mov edx, dword [ebp - 0x24]
movzx eax, word [ebx]
add ebx, 2
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x436785
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.0x42ff7a
jmp dword [ecx*4 + 0x4377b0]
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 0x40], 0
je case.0x436791.13
cmp ebx, dword [ecx + 0x54]
jb case.0x436791.13
cmp dword [ecx + 0x8c], 0
jne case.0x436791.13
cmp dword [ecx + 0x90], 2
jne case.0x436791.13
movzx ecx, word [ecx + 0x94]
cmp eax, ecx
jne case.0x436791.13
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
jmp case.0x436791.13
cmp eax, 0xd
ja 0x436825
je 0x436807
cmp eax, 0xa
je case.0x436791.13
add eax, 0xfffffff5
jmp 0x436831
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae case.0x436791.13
cmp word [ebx], 0xa
jne case.0x436791.13
add ebx, 2
jmp case.0x436791.13
cmp eax, 0x85
je 0x43683a
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
jmp 0x436a3c
cmp eax, 0x180e
ja 0x43687c
je case.0x42e00c.159
cmp eax, 0xa0
ja 0x436872
je case.0x42e00c.159
cmp eax, 9
je case.0x42e00c.159
cmp eax, 0x20
jmp 0x436a3c
cmp eax, 0x1680
jmp 0x436a3c
cmp eax, 0x205f
ja 0x4368a9
je case.0x42e00c.159
cmp eax, 0x2000
jb case.0x436791.13
cmp eax, 0x200a
jbe case.0x42e00c.159
cmp eax, 0x202f
jmp 0x436a3c
cmp eax, 0x3000
jmp 0x436a3c
cmp eax, 0x180e
ja 0x4368f4
je case.0x436791.13
cmp eax, 0xa0
ja 0x4368e4
je case.0x436791.13
cmp eax, 9
je case.0x436791.13
cmp eax, 0x20
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x1680
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x205f
ja 0x436927
je case.0x436791.13
cmp eax, 0x2000
jb case.0x42e00c.159
cmp eax, 0x200a
jbe case.0x436791.13
cmp eax, 0x202f
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x3000
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x85
ja 0x43695b
je case.0x42e00c.159
cmp eax, 0xa
jb case.0x436791.13
cmp eax, 0xd
jbe case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x2028
jb case.0x436791.13
cmp eax, 0x2029
jbe case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x85
ja 0x436994
je case.0x436791.13
add eax, 0xfffffff6
cmp eax, 3
ja case.0x42e00c.159
jmp case.0x436791.13
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x100
jae case.0x436791.13
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 4
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x100
jae case.0x42e00c.159
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 4
jmp 0x436a3c
cmp eax, 0x100
jae case.0x436791.13
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 1
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x100
jae case.0x42e00c.159
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 1
jmp 0x436a3c
cmp eax, 0x100
jae case.0x436791.13
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 0x10
jne case.0x42e00c.159
jmp case.0x436791.13
cmp eax, 0x100
jae case.0x42e00c.159
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x28]
test byte [eax + ecx], 0x10
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x4366d2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x4372c2
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
jge case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jae 0x435a93
cmp edi, 0xc
jne 0x436b04
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x436ac9
push 0
add eax, 0x90
push eax
push ecx
push edx
push ebx
call fcn.0043a430
add esp, 0x14
test eax, eax
jne case.0x42e00c.159
jmp 0x436b01
mov edx, dword [eax + 0x90]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x436b01
mov ecx, dword [ebp - 0x14]
mov ax, word [ebx]
cmp ax, word [ecx + 0x94]
jne 0x436b01
cmp edx, 1
je case.0x42e00c.159
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x96]
je case.0x42e00c.159
mov edx, dword [ebp - 0x24]
movzx ecx, word [ebx]
lea eax, [edi - 6]
add ebx, 2
cmp eax, 0xf
ja case.default.0x42ff7a
jmp dword [eax*4 + 0x4377f0]
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x40], 0
je case.0x436b16.13
cmp ebx, dword [eax + 0x54]
jb case.0x436b16.13
cmp dword [eax + 0x8c], 0
jne case.0x436b16.13
cmp dword [eax + 0x90], 2
jne case.0x436b16.13
movzx eax, word [eax + 0x94]
cmp ecx, eax
jne case.0x436b16.13
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 1
cmp word [eax + 0x40], 1
ja 0x42f20d
jmp case.0x436b16.13
cmp ecx, 0xd
ja 0x436baa
je 0x436b8c
cmp ecx, 0xa
je case.0x436b16.13
lea eax, [ecx - 0xb]
jmp 0x436bb8
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax + 0x54]
jae case.0x436b16.13
cmp word [ebx], 0xa
jne case.0x436b16.13
add ebx, 2
jmp case.0x436b16.13
cmp ecx, 0x85
je 0x436bc1
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
cmp word [eax + 0x42], 2
jmp 0x436dde
cmp ecx, 0x180e
ja 0x436c06
je case.0x42e00c.159
cmp ecx, 0xa0
ja 0x436bfb
je case.0x42e00c.159
cmp ecx, 9
je case.0x42e00c.159
cmp ecx, 0x20
jmp 0x436dde
cmp ecx, 0x1680
jmp 0x436dde
cmp ecx, 0x205f
ja 0x436c37
je case.0x42e00c.159
cmp ecx, 0x2000
jb case.0x436b16.13
cmp ecx, 0x200a
jbe case.0x42e00c.159
cmp ecx, 0x202f
jmp 0x436dde
cmp ecx, 0x3000
jmp 0x436dde
cmp ecx, 0x180e
ja 0x436c86
je case.0x436b16.13
cmp ecx, 0xa0
ja 0x436c75
je case.0x436b16.13
cmp ecx, 9
je case.0x436b16.13
cmp ecx, 0x20
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0x1680
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0x205f
ja 0x436cbd
je case.0x436b16.13
cmp ecx, 0x2000
jb case.0x42e00c.159
cmp ecx, 0x200a
jbe case.0x436b16.13
cmp ecx, 0x202f
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0x3000
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0x85
ja 0x436cf3
je case.0x42e00c.159
cmp ecx, 0xa
jb case.0x436b16.13
cmp ecx, 0xd
jbe case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0x2028
jb case.0x436b16.13
cmp ecx, 0x2029
jbe case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0x85
ja 0x436d2f
je case.0x436b16.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x42e00c.159
jmp case.0x436b16.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0xff
ja case.0x436b16.13
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0xff
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 4
jmp 0x436dde
cmp ecx, 0xff
ja case.0x436b16.13
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0xff
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 1
jmp 0x436dde
cmp ecx, 0xff
ja case.0x436b16.13
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
jne case.0x42e00c.159
jmp case.0x436b16.13
cmp ecx, 0xff
ja case.0x42e00c.159
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je case.0x42e00c.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.0042df10
add esp, 0x1c
test eax, eax
je 0x436a83
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 0x436e63
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 + 0x455168]
lea eax, [ecx + eax*2]
push eax
push edx
call fcn.0042df10
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1b
je 0x436ef7
cmp edx, 0xfffffc20
jne 0x436ec6
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 0x436f22
mov ecx, dword [ebp - 0x1c]
cmp word [ecx], 0x78
mov ecx, dword [ebp - 0x14]
je 0x436ec2
cmp word [eax], 0x78
jne 0x436f22
xor edx, edx
jmp 0x436ecd
test edx, edx
jne 0x436f22
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 0x436efa
mov edx, dword [ebp - 0x18]
jmp 0x436e53
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.00424a0b
mov esp, ebp
pop ebp
ret
cmp edx, 0xfffffc1b
jne 0x436f74
mov ecx, dword [ebp - 0x1c]
mov edi, 0x82
movzx eax, word [ecx]
cmp ax, di
je 0x436f69
cmp eax, 0x78
jne 0x436f60
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x436f52
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.00424a0b
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 + 0x455168]
movzx eax, word [edx + 2]
push dword [ebp - 0x2c]
add ecx, eax
lea eax, [edx + ecx*2]
push eax
push ebx
call fcn.0042df10
mov esi, eax
add esp, 0x1c
cmp esi, 1
je 0x436fd2
cmp esi, 0xfffffc19
jne 0x436ff1
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x68], 0
jne 0x436ff4
mov dword [eax + 0x68], edi
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
cmp esi, 0xfffffc1f
jne 0x434d53
push dword [eax + 0x58]
push edi
call fcn.0043a600
add esp, 8
test eax, eax
jne 0x434d53
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.00424a0b
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push ebx
call fcn.0042df10
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.00424a0b
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push ebx
call fcn.0042df10
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.00424a0b
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 + 0x455168]
movzx eax, word [edx + 2]
push dword [ebp - 0x2c]
add ecx, eax
lea eax, [edx + ecx*2]
push eax
push ebx
call fcn.0042df10
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x437108
cmp ecx, 0xfffffc19
jne 0x437111
cmp dword [edi + 0x68], 0
jne 0x437111
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.00424a0b
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [ecx + eax*2]
push eax
push ebx
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
pop edi
mov dword [esi + 0x58], ebx
mov eax, 0xfffffc1e
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 + 0x455168]
push dword [ebp - 0x2c]
lea eax, [edi + eax*2]
push eax
push ebx
call fcn.0042df10
add esp, 0x1c
test eax, eax
jne 0x4372c2
mov dword [esi + 0x58], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424a0b
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 + 0x455168]
movzx eax, word [edx + 2]
push dword [ebp - 0x2c]
add ecx, eax
lea eax, [edx + ecx*2]
push eax
push ebx
call fcn.0042df10
add esp, 0x1c
cmp eax, 1
je 0x43720b
cmp eax, 0xfffffc19
jne 0x437214
cmp dword [edi + 0x68], 0
jne 0x437214
mov dword [edi + 0x68], esi
test eax, eax
jne 0x4372c2
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.00424a0b
mov esp, ebp
pop ebp
ret
cmp ebx, dword [esi + 0x64]
jbe case.0x42e00c.0
mov dword [esi + 0x64], ebx
mov edi, dword [ebp - 0x2c]
cmp ebx, edi
jne 0x437278
cmp edx, 0xa1
je 0x437278
cmp dword [esi + 0xa0], 0
jne 0x437278
mov eax, dword [esi + 0x74]
test al, 4
jne case.0x42e00c.159
test al, 8
je 0x437278
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x50]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x42e00c.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.00424a0b
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.00424a0b
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.00424a0b
mov esp, ebp
pop ebp
ret