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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 0x80]
mov eax, ecx
mov ebx, dword [ebp + 0xc]
shr eax, 0x13
and eax, 1
shr ecx, 0x11
mov esi, dword [ebp + 0x14]
and ecx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], ecx
mov ecx, dword [edx + 0x1c]
lea eax, [esi - 0x38]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x38], eax
mov eax, dword [edx + 0x18]
add ecx, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
mov dword [eax + 0x18], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov eax, ecx
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [eax + 0x40], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0xffffffff
mov dword [eax + 0x1c], edi
mov dword [eax], ebx
mov dword [eax + 0x10], esi
test edi, edi
je 0x43cf90
sub eax, dword [edx + 0x18]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x50], eax
mov eax, edi
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x43cf8b
movzx eax, di
mov dword [ecx + 0x48], eax
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x1c]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x10]
lea eax, [edx + 1]
mov dword [edi + 0x18], eax
cmp edx, ecx
jae 0x44b7dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x14]
jb 0x43cfcd
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
jmp 0x43cfcd
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov bl, byte [esi]
movzx ecx, bl
mov byte [ebp + 0xb], bl
mov byte [eax + 0x31], bl
cmp ecx, 0xaa
ja case.0x44858b.15
movzx eax, byte [ecx + 0x44b950]
jmp dword [eax*4 + 0x44b7ec]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d075
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
cmp eax, 0xffffffff
je case.0x44858b.15
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x18]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x10], ecx
sub edx, dword [ebp + 0x14]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x43d040
mov eax, dword [edx + 0x50]
jmp 0x43d016
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
lea ecx, [esi - 2]
mov dword [eax + 0x4c], edi
mov eax, dword [edx + 0x38]
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
sub eax, dword [edi + 0x4c]
mov dword [edx + ecx*4 + 0x58], eax
mov eax, edx
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x4c]
mov dword [edx + ecx*4 + 0x5c], eax
mov eax, edx
cmp ecx, dword [eax + 0x54]
jb 0x43d072
mov dword [eax + 0x54], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x499ef8]
add eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x43cfcd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jbe 0x43d09b
mov dword [edi + 0x64], eax
mov eax, dword [ebp - 4]
mov esi, 0xfffffc19
mov dword [ebp - 0x20], eax
jmp 0x447d76
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
je 0x43d10d
mov eax, dword [eax + 0x50]
cmp eax, 0xffffffff
je case.0x44858b.15
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ecx + 0x18]
add ebx, eax
mov ecx, ebx
mov dword [ebp - 0x10], ebx
sub ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x43d0e4
mov eax, dword [ecx + 0x50]
jmp 0x43d0b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 0x3c], eax
add dword [ecx], 3
jmp 0x43cfd0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
cmp ecx, edx
jne 0x43d134
mov eax, dword [edi + 0x7c]
test al, 4
jne case.0x447ea2.999
test al, 8
je 0x43d134
mov eax, dword [edi + 0x4c]
add eax, dword [edi + 0x34]
cmp edx, eax
je case.0x447ea2.999
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x44b719
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x7c]
or eax, dword [edi + 0x80]
test eax, 0x20000000
je 0x44b717
test bl, bl
je case.0x447ea2.999
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax + 0x8c]
test esi, esi
je 0x43d1be
mov ebx, dword [ebp - 4]
lea edi, [eax + 0x54]
mov edx, dword [edi]
add ebx, 0x38
mov ecx, dword [ebx]
cmp ecx, edx
jae 0x43d1a5
push dword [ebp - 8]
add eax, 0x90
push eax
push edx
push esi
push ecx
call fcn.00458390
add esp, 0x14
test eax, eax
je 0x43d1a5
mov eax, 1
jmp 0x43d1a7
xor eax, eax
mov edx, dword [ebp + 0x1c]
add edx, 0x90
test eax, eax
je 0x43d208
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x447ea2.998
mov edi, dword [ebp - 4]
lea esi, [eax + 0x54]
lea ebx, [eax + 0x90]
mov eax, dword [esi]
sub eax, dword [ebx]
mov ecx, dword [edi + 0x38]
cmp ecx, eax
ja 0x43d201
mov edx, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, byte [edx + 0x94]
mov edx, dword [ebx]
jne 0x43d201
cmp edx, 1
je 0x43d1f7
mov al, byte [ecx + 1]
mov ecx, dword [ebp + 0x1c]
cmp al, byte [ecx + 0x95]
jne 0x43d201
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x447ea2.998
mov edx, ebx
lea ebx, [edi + 0x38]
mov edi, esi
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x3c]
mov esi, eax
test ax, ax
je 0x43d253
mov eax, dword [edi]
mov ecx, dword [ebx]
dec eax
cmp ecx, eax
jne 0x43d253
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x8c], 0
jne 0x43d24f
cmp dword [edx], 2
jne 0x43d24f
mov edi, dword [ebp + 0x1c]
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x43cff3.13
mov eax, edi
mov dword [eax + 0x1c], 1
cmp esi, 1
ja 0x43ed43
mov edi, eax
jmp case.0x43cff3.13
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x43d295
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x43d27e
cmp dword [eax + 0x24], 0
je 0x43d28e
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov edi, eax
jmp case.0x447ea2.999
mov edx, dword [ebp - 8]
inc ecx
mov dword [eax + 0x38], ecx
test edx, edx
je 0x43d2c2
cmp ecx, dword [edi + 0x54]
jae 0x43d2c2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x43d2bc
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x43d2a5
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
inc dword [eax]
jmp 0x43cfd0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x43d310
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x43d2f8
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov edi, dword [ebp + 0x1c]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x43cfd0
mov eax, dword [ebp - 4]
test edx, edx
je 0x43d42d
lea edi, [esi + 1]
mov dword [eax + 0xc], 1
mov dword [eax], edi
mov edx, 1
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x43d3ac
test al, 0x20
jne 0x43d361
mov eax, dword [ebp - 4]
mov edx, 2
mov dword [eax + 0xc], 2
jmp 0x43d3af
test al, 0x10
jne 0x43d376
mov eax, dword [ebp - 4]
mov edx, 3
mov dword [eax + 0xc], 3
jmp 0x43d3ac
test al, 8
jne 0x43d38b
mov eax, dword [ebp - 4]
mov edx, 4
mov dword [eax + 0xc], 4
jmp 0x43d3ac
test al, 4
mov eax, dword [ebp - 4]
jne 0x43d3a0
mov dword [eax + 0xc], 5
mov edx, 5
jmp 0x43d3ac
mov dword [eax + 0xc], 6
mov edx, 6
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, esi
cmp edx, eax
jbe 0x43d402
mov edi, dword [ebp + 0x1c]
cmp esi, ecx
jb case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
mov eax, edi
cmp esi, dword [eax + 0x60]
ja 0x43d3eb
cmp dword [eax + 0x24], 0
je 0x43d28e
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, eax
jmp case.0x447ea2.999
mov ebx, dword [ebp - 4]
mov cl, byte [esi]
inc esi
mov al, byte [edi]
inc edi
cmp al, cl
mov eax, ebx
mov dword [ebx + 0x38], esi
mov dword [ebx], edi
jne 0x43d423
add edx, 0xffffffff
mov dword [eax + 0xc], edx
jne 0x43d402
jmp 0x43cfca
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x447d76
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0x38]
mov eax, dword [ecx + 0x54]
sub eax, edi
cmp eax, 1
jge 0x43d476
movzx eax, word [ecx + 0x3c]
mov ecx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x60]
ja 0x43d45e
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov cl, byte [edi]
lea eax, [edi + 1]
mov ebx, dword [ebp - 4]
mov dl, byte [esi + 1]
mov edi, dword [ebp + 0x1c]
mov dword [ebx + 0x38], eax
cmp dl, cl
jne case.0x447ea2.999
lea eax, [esi + 2]
mov dword [ebx], eax
jmp 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp - 0x30], ebx
cmp ebx, dword [edi + 0x54]
jb 0x43d4df
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x43d4c8
cmp dword [eax + 0x24], 0
je 0x43d28e
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, eax
jmp case.0x447ea2.999
test edx, edx
je 0x43d7c7
lea edi, [esi + 1]
mov dword [eax + 0xc], 1
mov dword [eax], edi
movzx edx, byte [edi]
mov dword [ebp - 0x2c], edi
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], 1
cmp edx, 0xc0
jb 0x43d635
test dl, 0x20
jne 0x43d539
movzx eax, byte [esi + 2]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebp + 0xc], 2
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 2
jmp 0x43d62f
test dl, 0x10
jne 0x43d56f
movzx ecx, byte [esi + 2]
and edx, 0xf
movzx eax, byte [esi + 3]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebp + 0xc], 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
jmp 0x43d62f
movzx eax, byte [esi + 2]
and eax, 0x3f
test dl, 8
jne 0x43d5b1
and edx, 7
mov dword [ebp + 0xc], 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
jmp 0x43d62f
movzx ecx, byte [esi + 3]
movzx edi, byte [esi + 4]
and ecx, 0x3f
movzx esi, byte [esi + 5]
and edi, 0x3f
and esi, 0x3f
test dl, 4
jne 0x43d5f8
and edx, 3
mov dword [ebp + 0xc], 5
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov dword [eax + 0xc], 5
mov edi, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
jmp 0x43d62f
and edx, 1
mov dword [ebp + 0xc], 6
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
movzx eax, byte [edi + 5]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
mov eax, dword [ebp - 4]
mov dword [ebp + 8], edx
movzx ebx, byte [ebx]
cmp edx, 0x80
jae 0x43d66a
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ebx + ecx]
je 0x43d656
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov edx, dword [ebp - 4]
lea eax, [edi + 1]
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
inc eax
mov dword [edx + 0x38], eax
jmp 0x43cfca
mov ecx, dword [ebp - 0x30]
inc ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x43d775
lea esi, [ecx + 1]
test bl, 0x20
jne 0x43d69e
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x43d775
lea edi, [ecx + 2]
test bl, 0x10
jne 0x43d6ca
movzx eax, byte [ecx]
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x43d775
test bl, 8
jne 0x43d701
movzx eax, byte [ecx]
and ebx, 7
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
mov esi, dword [ebp - 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
mov dword [esi + 0x38], eax
jmp 0x43d775
movzx edx, byte [ecx + 3]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x14], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x30], edx
mov edx, dword [ebp + 8]
test bl, 4
jne 0x43d748
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x14]
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, dword [ebp - 0x30]
jmp 0x43d76f
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, dword [ebp - 0x30]
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x2c]
mov edi, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp ebx, edx
je 0x43cfcd
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x49c5cc]
add eax, dword [ebp + 8]
cmp ebx, eax
je 0x43cfd0
jmp case.0x447ea2.999
cmp dword [ebp - 0x28], 0
je 0x43d83d
movzx edx, byte [esi + 1]
movzx edi, byte [ebx]
cmp edx, 0x80
jae 0x43d7f2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x28]
mov al, byte [ecx + edx]
cmp al, byte [ecx + edi]
mov edi, dword [ebp + 0x1c]
je 0x43d857
jmp case.0x447ea2.999
cmp edi, edx
je 0x43d854
mov eax, edx
test eax, eax
jns 0x43d7ff
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x4a0880]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x43d81b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x49c5cc]
add eax, edx
cmp edi, eax
mov edi, dword [ebp + 0x1c]
je 0x43d857
jmp case.0x447ea2.999
mov edx, dword [edi + 0x28]
movzx eax, byte [esi + 1]
movzx ecx, byte [ebx]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x43d857
jmp case.0x447ea2.999
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
lea eax, [ebx + 1]
mov dword [ecx + 0x38], eax
lea eax, [esi + 2]
mov dword [ecx], eax
jmp 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x30], ebx
cmp ebx, dword [eax + 0x54]
jb 0x43d8b4
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x43d89c
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
lea eax, [esi + 1]
test edx, edx
je 0x43db39
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
lea ecx, [eax + 1]
movzx ebx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
cmp ebx, 0xc0
jb 0x43d9c6
lea edx, [ecx + 1]
test bl, 0x20
jne 0x43d8fb
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x43d9c3
lea esi, [ecx + 2]
test bl, 0x10
jne 0x43d926
movzx eax, byte [ecx]
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
jmp 0x43d9c3
lea edi, [ecx + 3]
test bl, 8
jne 0x43d959
movzx eax, byte [ecx]
and ebx, 7
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edi
jmp 0x43d9c3
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x43d998
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp + 0xc]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x43d9be
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
inc ecx
mov dword [ebp + 0xc], edx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x43dada
lea esi, [ecx + 1]
test dl, 0x20
jne 0x43da00
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x43dad7
lea edi, [ecx + 2]
test dl, 0x10
jne 0x43da2c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x43dad7
lea eax, [ecx + 3]
mov dword [ebp - 0x30], eax
test dl, 8
jne 0x43da60
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
jmp 0x43dad1
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x2c], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x30], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x30]
test dl, 4
jne 0x43daaa
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x43dad1
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov dword [ebp + 0xc], edx
mov edi, dword [ebp + 0x1c]
cmp ebx, edx
je case.0x447ea2.999
cmp byte [ebp + 0xb], 0x20
jne 0x43cfcd
cmp ebx, 0x7f
jbe 0x43db22
mov eax, ebx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp + 0xc]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
add ebx, dword [eax*4 + 0x49c5cc]
jmp 0x43db29
mov eax, dword [edi + 0x2c]
movzx ebx, byte [eax + ebx]
cmp ebx, edx
mov edx, dword [ebp - 8]
jne 0x43cfd0
jmp case.0x447ea2.999
cmp dword [ebp - 0x28], 0
lea ecx, [ebx + 1]
movzx edi, byte [ebx]
je 0x43dbca
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
movzx edx, byte [eax]
lea eax, [esi + 2]
mov dword [ebx], eax
cmp edx, edi
jne 0x43db63
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
cmp byte [ebp + 0xb], 0x20
jne 0x43cfca
cmp edx, 0x7f
jbe 0x43dbad
mov eax, edx
test eax, eax
jns 0x43db7b
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x4a0880]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x43db97
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4c80]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x49c5cc]
jmp 0x43dbb7
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx edx, byte [eax + edx]
cmp edx, edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
jne 0x43cfd0
jmp case.0x447ea2.999
movzx edx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp edx, edi
je 0x43d1f7
cmp byte [ebp + 0xb], 0x20
jne 0x43dbf3
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx eax, byte [eax + edx]
cmp eax, edi
je 0x43d1f7
lea eax, [esi + 2]
jmp 0x43cfc5
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
add esi, 3
mov dword [edx], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x43dd49
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [edx], ecx
mov dword [eax], esi
jmp 0x43dd46
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [edx], ecx
mov dword [eax], esi
jmp 0x43dd46
mov eax, dword [ebp - 4]
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [edx], ecx
mov dword [eax], esi
jmp 0x43dd46
mov eax, dword [ebp - 4]
inc esi
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [edx], 0xffffffff
mov dword [eax], esi
jmp 0x43dd46
mov eax, dword [ebp - 4]
inc esi
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [edx], 0xffffffff
mov dword [eax], esi
jmp 0x43dd46
mov eax, dword [ebp - 4]
inc esi
lea edx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [edx], 1
mov dword [eax], esi
jmp 0x43dd46
movzx ecx, byte [esi]
cmp bl, 0x2e
mov edx, dword [ebp - 4]
sbb eax, eax
inc esi
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x497938]
mov dword [edx + 0x20], eax
add edx, 0x24
mov eax, dword [ecx*4 + 0x497964]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x497990]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x43e1ee
mov dword [eax + 0xc], 1
mov dword [eax + 8], esi
movzx ebx, byte [esi]
cmp ebx, 0xc0
jb 0x43e1d7
lea ecx, [esi + 2]
test bl, 0x20
jne 0x43dd92
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
mov dword [eax + 0xc], 2
or edx, ebx
mov dword [eax], ecx
jmp 0x43de82
test bl, 0x10
jne 0x43ddc3
movzx edx, byte [esi + 1]
and ebx, 0xf
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
lea eax, [esi + 3]
jmp 0x43de7d
test bl, 8
jne 0x43de00
movzx edx, byte [esi + 1]
and ebx, 7
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
lea eax, [esi + 4]
jmp 0x43de7d
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 1]
and edx, 0x3f
movzx ecx, byte [ecx]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
and edi, 0x3f
mov dword [ebp + 0xc], edx
mov edx, ebx
test bl, 4
jne 0x43de4c
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov dword [eax + 0xc], 5
shl edx, 6
lea eax, [esi + 5]
or edx, dword [ebp + 0xc]
jmp 0x43de7d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
lea eax, [esi + 6]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
cmp byte [ebp + 0xb], 0x2e
jb 0x43dec9
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x4a0880]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x49c5cc]
add ecx, edx
cmp ecx, edx
je 0x43dec9
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.004586e0
add esp, 8
jmp 0x43decb
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x30], 1
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x43e007
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 0xc]
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x43df6c
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x43df27
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43df30
add ecx, 4
add edx, 4
sub esi, 4
jae 0x43df16
cmp esi, 0xfffffffc
je 0x43dfe8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43df69
cmp esi, 0xfffffffd
je 0x43dfe8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43df69
cmp esi, 0xfffffffe
je 0x43dfe8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43df69
cmp esi, 0xffffffff
je 0x43dfe8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x43dfe8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x43e149
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x43e149
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x43dfa6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43dfab
add ecx, 4
add edx, 4
sub esi, 4
jae 0x43df95
cmp esi, 0xfffffffc
je 0x43dfe8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43e149
cmp esi, 0xfffffffd
je 0x43dfe8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43e149
cmp esi, 0xfffffffe
je 0x43dfe8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43e149
cmp esi, 0xffffffff
je 0x43dfe8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43e149
mov ecx, dword [ebp - 4]
lea eax, [edi + ebx]
mov edx, dword [ebp - 0x30]
inc edx
mov dword [ebp - 0x30], edx
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, dword [ebp + 0xc]
jbe 0x43def0
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x30], ecx
cmp edx, ecx
je 0x43cfca
cmp dword [ebp - 0xc], 0
je 0x44b137
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp edx, ecx
jae 0x43e1c2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 0xc]
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x43e0b6
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x43e071
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43e07a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x43e060
cmp esi, 0xfffffffc
je 0x43e12b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43e0b3
cmp esi, 0xfffffffd
je 0x43e12b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43e0b3
cmp esi, 0xfffffffe
je 0x43e12b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43e0b3
cmp esi, 0xffffffff
je 0x43e12b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x43e12b
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x43e18e
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x43e18e
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x43e0f1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43e0f6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x43e0e0
cmp esi, 0xfffffffc
je 0x43e12b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x43e18e
cmp esi, 0xfffffffd
je 0x43e12b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x43e18e
cmp esi, 0xfffffffe
je 0x43e12b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x43e18e
cmp esi, 0xffffffff
je 0x43e12b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x43e18e
mov edx, dword [ebp + 0xc]
lea eax, [edi + ebx]
mov ebx, dword [ebp - 4]
inc edx
mov dword [ebp + 0xc], edx
mov dword [ebx + 0x38], eax
cmp edx, dword [ebp - 0x30]
jb 0x43e030
jmp 0x43e1c2
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x43d1f7
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x43e176
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x43e1bf
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x43e1bf
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x60]
ja 0x43e1af
cmp dword [eax + 0x24], 0
je 0x43e1bf
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
je 0x43cfd0
jmp 0x448c81
mov ecx, dword [ebp - 4]
lea eax, [esi + 1]
mov esi, ecx
mov dword [ecx], eax
mov eax, ecx
mov ecx, dword [ebp - 8]
mov dword [eax + 0x28], ebx
add eax, 0x24
jmp 0x43e1fe
movzx ebx, byte [esi]
mov dword [eax + 0x28], ebx
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dword [esi], eax
mov eax, edx
cmp byte [ebp + 0xb], 0x2e
jb 0x43e379
cmp dword [ebp - 0x28], 0
je 0x43e244
test ecx, ecx
jne 0x43e244
cmp ebx, 0x7f
jbe 0x43e244
mov eax, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x4a0880]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x49c5cc]
add eax, ebx
jmp 0x43e24b
mov eax, dword [edi + 0x2c]
movzx eax, byte [eax + ebx]
mov dword [esi + 0x2c], eax
mov edx, 1
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, edx
jb 0x43e291
nop dword [eax]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x43e2eb
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x43e283
cmp dword [ebx + 0x2c], eax
jne 0x43d1f7
lea eax, [ecx + 1]
inc edx
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, esi
jbe 0x43e260
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x1c]
cmp esi, edx
je 0x43cfcd
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x4482df
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp esi, edx
jae 0x43e350
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x43e324
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x43e2de
cmp dword [ebx + 0x2c], eax
jne 0x43e350
inc esi
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
cmp esi, edx
jb 0x43e2c0
jmp 0x43e350
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x43e30c
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x43e34d
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x43e33d
cmp dword [eax + 0x24], 0
je 0x43e34d
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edi, 2
mov edi, dword [ebp + 0x1c]
je 0x43cfd0
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1a
jmp 0x44b60e
mov edi, dword [esi + 0x20]
mov ebx, 1
cmp edi, ebx
jb 0x43e3f2
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x54]
jae 0x43e3b9
mov eax, dword [ebp - 4]
movzx edx, byte [esi]
mov ecx, dword [eax + 0x28]
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], eax
cmp ecx, edx
jne 0x43d1f7
inc ebx
cmp ebx, edi
jbe 0x43e385
mov ebx, esi
lea eax, [ebx + 0x24]
jmp 0x43e3f5
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x60]
ja 0x43e3da
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov ebx, dword [ebp - 4]
mov edx, dword [eax]
cmp edi, edx
je 0x43cfca
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x448361
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp edi, edx
jae 0x43e472
nop word [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x43e446
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
jne 0x43e472
inc edi
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
cmp edi, edx
jb 0x43e420
jmp 0x43e472
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x43e46f
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x60]
ja 0x43e45f
cmp dword [eax + 0x24], 0
je 0x43e46f
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp esi, 2
je 0x43cfd0
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1c
jmp 0x44b60e
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], esi
jmp 0x43e600
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x43e603
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x43e603
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x43e603
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x43e603
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x43e603
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [ebp + 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x43e603
movzx ecx, byte [esi]
cmp bl, 0x48
mov edx, dword [ebp - 4]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [ebp - 4]
inc esi
mov ebx, dword [ecx*4 + 0x497938]
mov dword [eax], esi
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x497964]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x497990]
mov dword [ebp - 0xc], eax
mov dword [ebp + 0xc], ebx
mov ecx, dword [ebp - 4]
movzx eax, byte [esi]
inc esi
mov edx, eax
mov dword [ecx + 0x28], eax
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x43e732
cmp eax, 0xc0
jb 0x43e732
lea edi, [esi + 1]
test al, 0x20
jne 0x43e649
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], edi
jmp 0x43e735
lea ebx, [esi + 2]
test al, 0x10
jne 0x43e678
mov edx, eax
movzx eax, byte [esi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], ebx
jmp 0x43e732
lea ecx, [esi + 3]
test al, 8
jne 0x43e6b2
mov edx, eax
movzx eax, byte [esi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], ecx
jmp 0x43e72f
movzx edx, byte [esi + 3]
lea ecx, [esi + 4]
movzx edi, byte [edi]
and edx, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [esi]
and ecx, 0x3f
mov dword [ebp - 0x30], edx
mov edx, eax
test al, 4
jne 0x43e6fd
mov eax, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x30]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x2c]
jmp 0x43e72a
movzx eax, byte [esi + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x30]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [esi + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp byte [ebp + 0xb], 0x48
jb 0x43ebad
test ecx, ecx
jne 0x43e748
cmp dword [ebp - 0x28], ecx
je 0x43e77d
cmp edx, 0x7f
jbe 0x43e77d
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x4a0880]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4c80]
mov ecx, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edi, dword [eax*4 + 0x49c5cc]
add edi, edx
jmp 0x43e787
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx edi, byte [eax + edx]
mov eax, dword [ebp - 4]
test ecx, ecx
mov dword [eax + 0x2c], edi
mov esi, dword [eax + 0x20]
mov ecx, esi
mov dword [ebp + 0xc], esi
je 0x43e938
mov eax, 1
mov dword [ebp + 8], eax
cmp esi, eax
jb 0x43e975
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
cmp edx, dword [edi + 0x54]
jae 0x43e900
movzx ecx, byte [edx]
inc edx
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x43e81b
lea esi, [edx + 1]
test cl, 0x20
jne 0x43e7ee
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, ebx
mov dword [eax + 0x38], esi
jmp 0x43e818
lea edi, [edx + 2]
test cl, 0x10
jne 0x43e847
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x28], ecx
je case.0x447ea2.999
cmp dword [edx + 0x2c], ecx
je case.0x447ea2.999
mov ecx, dword [ebp - 4]
inc eax
mov dword [ebp + 8], eax
mov ecx, dword [ecx + 0x20]
cmp eax, ecx
jbe 0x43e7b0
jmp 0x43e975
lea ebx, [edx + 3]
test cl, 8
jne 0x43e87b
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43e815
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x43e8c9
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, esi
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
jmp 0x43e81e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
jmp 0x43e81e
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x60]
ja 0x43e921
cmp dword [eax + 0x24], 0
je 0x43d28e
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, eax
jmp case.0x447ea2.999
mov ebx, 1
cmp esi, ebx
jb 0x43e978
mov ecx, esi
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x54]
jae 0x43e9ee
movzx eax, byte [esi]
cmp edx, eax
je 0x43d1f7
cmp edi, eax
je 0x43d1f7
lea eax, [esi + 1]
inc ebx
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], eax
mov eax, esi
cmp ebx, ecx
jbe 0x43e943
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x24]
mov dword [ebp + 8], ebx
cmp ecx, ebx
je 0x43cfca
cmp dword [ebp - 0xc], 0
je 0x44af38
cmp dword [ebp - 8], 0
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
je 0x43eb40
mov esi, dword [ebp + 0xc]
cmp esi, ebx
jae 0x43eafc
nop dword [eax + eax]
mov edi, dword [ebp + 0x1c]
mov eax, 1
cmp edx, dword [edi + 0x54]
jae 0x43eb01
movzx ecx, byte [edx]
cmp ecx, 0xc0
jb 0x43eadc
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x43ea27
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43eadc
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x43d1f7
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x60]
ja 0x43ea0f
cmp dword [eax + 0x24], 0
je 0x43d1f7
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
test cl, 0x10
jne 0x43ea4a
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x43eadc
test cl, 8
jne 0x43ea76
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x43eadc
movzx esi, byte [edx + 2]
movzx edi, byte [edx + 3]
and esi, 0x3f
movzx ebx, byte [edx + 4]
and edi, 0x3f
and ebx, 0x3f
test cl, 4
jne 0x43eaae
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, 5
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x43ead6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
mov eax, 6
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 4]
cmp dword [edi + 0x28], ecx
je 0x43eafc
cmp dword [edi + 0x2c], ecx
je 0x43eafc
add edx, eax
inc esi
mov dword [ebp + 0xc], esi
mov eax, edi
mov dword [eax + 0x38], edx
cmp esi, ebx
jb 0x43e9b0
mov edi, dword [ebp + 0x1c]
jmp 0x43eb2b
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x43eb2b
mov eax, edi
cmp edx, dword [eax + 0x60]
ja 0x43eb19
cmp dword [eax + 0x24], 0
je 0x43eb29
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov edi, eax
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x43cfd0
mov ebx, dword [ebp - 4]
jmp 0x448e33
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x1c]
cmp ecx, ebx
jae 0x43eb98
nop word [eax + eax]
cmp edx, dword [edi + 0x54]
jae 0x43eb72
mov esi, dword [ebp - 4]
movzx eax, byte [edx]
cmp dword [esi + 0x28], eax
je 0x43eb98
cmp dword [esi + 0x2c], eax
je 0x43eb98
mov eax, esi
inc edx
inc ecx
mov dword [eax + 0x38], edx
cmp ecx, ebx
jb 0x43eb50
jmp 0x43eb98
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x43eb98
cmp edx, dword [edi + 0x60]
ja 0x43eb88
cmp dword [edi + 0x24], 0
je 0x43eb98
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x43cfd0
mov ebx, dword [ebp - 4]
jmp 0x448407
test ecx, ecx
je 0x43ed4f
mov esi, dword [ebp + 0xc]
mov eax, 1
mov dword [ebp + 8], eax
cmp esi, eax
jb 0x43ed8b
mov ecx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
nop
mov edx, dword [ecx + 0x38]
cmp edx, dword [edi + 0x54]
jae 0x43ed15
movzx ecx, byte [edx]
inc edx
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], edx
cmp ecx, 0xc0
jb 0x43ec39
lea esi, [edx + 1]
test cl, 0x20
jne 0x43ec0c
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x43ec36
lea edi, [edx + 2]
test cl, 0x10
jne 0x43ec5c
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
cmp dword [edx + 0x28], ecx
je case.0x447ea2.999
mov ecx, dword [ebp - 4]
inc eax
mov dword [ebp + 8], eax
mov esi, dword [ecx + 0x20]
cmp eax, esi
jbe 0x43ebd0
jmp 0x43ed8b
lea ebx, [edx + 3]
test cl, 8
jne 0x43ec90
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43ec33
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x43ecde
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, esi
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
jmp 0x43ec3c
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
jmp 0x43ec3c
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x43ed33
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
jbe case.0x447ea2.999
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0xc]
mov ebx, 1
mov esi, edi
cmp edi, ebx
jb 0x43ed8e
jmp 0x43ed63
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x54]
jae 0x43ee00
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
cmp edx, ecx
je 0x43d1f7
inc ebx
cmp ebx, esi
jbe 0x43ed60
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
mov dword [ebp + 8], ecx
cmp esi, ecx
je 0x43cfca
cmp dword [ebp - 0xc], 0
je 0x44af4d
mov edx, dword [ebp - 8]
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
test edx, edx
je 0x43ef60
cmp edi, ecx
jae 0x43ef58
mov edx, dword [ebp + 0x1c]
mov eax, 1
cmp esi, dword [edx + 0x54]
jae 0x43ef2b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43eefb
test dl, 0x20
jne 0x43ee38
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x43eefb
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x448aa1
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x60]
mov edi, eax
ja 0x43ee23
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
test dl, 0x10
jne 0x43ee62
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x43eef8
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x43ee95
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x43eefb
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x43eecd
and edx, 3
shl edx, 6
or edx, eax
mov eax, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x43eef5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
mov eax, 6
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x28], edx
je 0x43ef16
add esi, eax
inc edi
mov dword [ebp + 0xc], edi
mov eax, ebx
mov dword [eax + 0x38], esi
cmp edi, ecx
jb 0x43edc2
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x43cfd0
jmp 0x448fdc
mov edi, edx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x43ef53
cmp esi, dword [edi + 0x60]
ja 0x43ef43
cmp dword [edi + 0x24], 0
je 0x43ef53
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov ebx, dword [ebp - 4]
jmp 0x43ef19
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
jmp 0x43ef1c
cmp edi, ecx
jae 0x43ef82
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x54]
jae 0x43ef97
mov ebx, dword [ebp - 4]
movzx eax, byte [esi]
cmp dword [ebx + 0x28], eax
je 0x43ef85
mov eax, ebx
inc esi
inc edi
mov dword [eax + 0x38], esi
cmp edi, ecx
jb 0x43ef64
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
je 0x43cfd0
jmp 0x4484a4
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x43efbf
cmp esi, dword [edi + 0x60]
ja 0x43efaf
cmp dword [edi + 0x24], 0
je 0x43efbf
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov ebx, dword [ebp - 4]
jmp 0x43ef88
mov eax, dword [ebp - 4]
lea edi, [esi + 1]
add esi, 0x21
mov dword [eax + 8], edi
mov dword [eax], esi
movzx ecx, byte [esi]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x43efe8
movzx eax, byte [eax + 0x44ba04]
jmp dword [eax*4 + 0x44b9fc]
mov edx, dword [ebp - 4]
lea eax, [esi + 1]
mov ebx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x4977b0]
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x4977dc]
mov dword [ebx + 0x24], eax
mov ebx, dword [ecx*4 + 0x497808]
mov dword [ebp - 0xc], ebx
jmp 0x43f07d
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], edx
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
movzx eax, byte [esi]
mov eax, dword [eax*4 + 0x497808]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [ecx], eax
jmp 0x43f07d
mov eax, dword [ebp - 4]
mov edx, 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
cmp dword [ebp - 8], 0
mov esi, 1
mov dword [ebp + 0xc], edx
mov eax, edx
je 0x43f29d
mov dword [ebp - 0x14], esi
cmp edx, esi
jb 0x43f1f2
mov edi, dword [ebp + 0x1c]
nop
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x43f26a
movzx ebx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x43f1b7
lea edx, [ecx + 1]
test bl, 0x20
jne 0x43f0e3
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x43f1b4
lea esi, [ecx + 2]
test bl, 0x10
jne 0x43f10f
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x43f1b1
lea edi, [ecx + 3]
test bl, 8
jne 0x43f143
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x43f1ae
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x30], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x43f182
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x30]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x43f1a8
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
cmp ebx, 0xff
jbe 0x43f1c5
cmp byte [ebp + 0xb], 0x6e
jmp 0x43f1da
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x447ea2.999
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0x14], esi
mov eax, dword [eax + 0x20]
cmp esi, eax
jbe 0x43f0a0
mov edi, dword [ebp - 4]
mov ebx, dword [edi + 0x24]
mov dword [ebp - 0x30], ebx
cmp eax, ebx
je 0x43cfca
cmp dword [ebp - 0xc], 0
je 0x44af62
mov edx, dword [ebp - 8]
mov eax, edi
mov edi, dword [eax + 0x38]
mov dword [eax + 4], edi
mov eax, dword [eax + 0x24]
test edx, edx
je 0x43f461
cmp dword [ebp + 0xc], eax
jae 0x43f43c
nop dword [eax]
mov edx, dword [ebp + 0x1c]
mov esi, 1
cmp edi, dword [edx + 0x54]
jae 0x43f416
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x43f3d1
test bl, 0x20
jne 0x43f31d
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov esi, 2
jmp 0x43f3c9
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x43f288
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp edx, 1
jb 0x43f1f2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x43f2e8
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, edx
and ecx, 7
shr edx, 3
mov eax, 1
shl eax, cl
test byte [edx + edi], al
mov eax, dword [ebp - 4]
je 0x43d423
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x43f2a6
jmp 0x43f1f2
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x43f308
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
test bl, 0x10
jne 0x43f33f
movzx eax, byte [edi + 1]
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov esi, 3
movzx eax, byte [edi + 2]
jmp 0x43f3c9
test bl, 8
jne 0x43f36a
movzx ecx, byte [edi + 1]
and ebx, 7
movzx eax, byte [edi + 2]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x43f3c9
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and eax, 0x3f
movzx edx, byte [edi + 3]
and ecx, 0x3f
movzx esi, byte [edi + 4]
and edx, 0x3f
and esi, 0x3f
test bl, 4
jne 0x43f3a9
and ebx, 3
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 5
jmp 0x43f3d1
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 6
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp ebx, 0xff
jbe 0x43f3df
cmp byte [ebp + 0xb], 0x6e
jmp 0x43f3f7
mov eax, dword [ebp - 4]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
mov eax, dword [eax + 8]
test byte [ebx + eax], dl
je 0x43f411
mov eax, dword [ebp - 4]
add edi, esi
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp - 0x30]
jb 0x43f230
mov edi, dword [ebp + 0x1c]
jmp 0x43f443
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x43f441
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x43f42e
cmp dword [edi + 0x24], 0
je 0x43f443
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x43ed43
jmp 0x43f443
mov edi, dword [ebp + 0x1c]
jmp 0x43f446
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x43cfd0
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x44b60e
cmp dword [ebp + 0xc], eax
jae 0x43f4cc
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x43f4a2
mov eax, dword [ebp - 4]
mov edx, 1
movzx esi, byte [edi]
mov ecx, esi
shr esi, 3
and ecx, 7
mov eax, dword [eax + 8]
shl edx, cl
test byte [esi + eax], dl
je 0x43f49d
mov eax, dword [ebp - 4]
inc edi
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, ebx
jb 0x43f466
mov edi, dword [ebp + 0x1c]
jmp 0x43f4d3
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x43f4d1
cmp edi, dword [edx + 0x60]
mov edi, edx
ja 0x43f4ba
cmp dword [edi + 0x24], 0
je 0x43f4d3
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x43f4d3
mov edi, dword [ebp + 0x1c]
jmp 0x43f4d6
mov edi, edx
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x43cfd0
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x18
jmp 0x44b60e
mov ecx, dword [ebp - 4]
lea eax, [esi + 3]
mov dword [ecx + 8], eax
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, ecx
add edx, esi
mov dword [eax], edx
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x43f52f
movzx eax, byte [eax + 0x44ba18]
jmp dword [eax*4 + 0x44ba10]
mov ebx, dword [ecx*4 + 0x4977b0]
lea eax, [edx + 1]
mov edx, dword [ebp - 4]
mov edi, dword [ecx*4 + 0x497808]
mov dword [ebp - 0xc], edi
mov dword [edx], eax
mov eax, edx
lea esi, [eax + 0x20]
lea edx, [eax + 0x24]
mov dword [esi], ebx
mov eax, dword [ecx*4 + 0x4977dc]
mov dword [ebp - 0x14], edx
mov dword [edx], eax
jmp 0x43f5b5
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 4]
add esi, 0x20
shl ebx, 8
lea edi, [edi + 0x24]
or ebx, eax
mov dword [ebp - 0x14], edi
mov dword [esi], ebx
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [edi], ecx
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [edi], eax
movzx eax, byte [edx]
mov eax, dword [eax*4 + 0x497808]
mov dword [ebp - 0xc], eax
lea eax, [edx + 5]
mov dword [ecx], eax
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x2c], 1
cmp ebx, 1
jae 0x43f5ef
jmp 0x43f73e
mov eax, dword [ebp - 4]
lea ecx, [eax + 0x24]
mov dword [ebp - 0x2c], 1
mov dword [ecx], 1
mov dword [ebp - 0x14], ecx
lea esi, [eax + 0x20]
mov dword [eax + 0x20], 1
mov dword [ebp + 8], esi
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jae 0x43f8e3
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x43f713
cmp ecx, 0xc0
jb 0x43f713
lea esi, [edx + 1]
test cl, 0x20
jne 0x43f63f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x43f70d
lea edi, [edx + 2]
test cl, 0x10
jne 0x43f66b
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x43f70a
lea ebx, [edx + 3]
test cl, 8
jne 0x43f69f
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43f70a
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 0xc], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x43f6de
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 0xc]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x43f704
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push ecx
call fcn.0045b010
add esp, 0xc
test eax, eax
je case.0x447ea2.999
mov eax, dword [ebp - 0x2c]
mov ebx, dword [esi]
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0xc], ebx
cmp eax, ebx
jbe 0x43f5f2
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ecx]
cmp ebx, ecx
je 0x43cfcd
cmp dword [ebp - 0xc], 0
je 0x44b110
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + 4], eax
cmp ebx, ecx
jae 0x43f89e
nop dword [eax]
mov eax, dword [ebp - 4]
mov edi, 1
mov ecx, dword [ebp + 0x1c]
mov esi, dword [eax + 0x38]
cmp esi, dword [ecx + 0x54]
jae 0x43f8b9
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x43f873
cmp edx, 0xc0
jb 0x43f873
test dl, 0x20
jne 0x43f7b6
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x43f868
test dl, 0x10
jne 0x43f7d8
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x43f868
test dl, 8
jne 0x43f803
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x43f868
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x43f845
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
jmp 0x43f870
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push edx
call fcn.0045b010
add esp, 0xc
test eax, eax
je 0x43f89b
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 0xc], ebx
add dword [eax + 0x38], edi
mov eax, dword [ebp - 0x14]
cmp ebx, dword [eax]
jb 0x43f770
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
je 0x43cfcd
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x44b60e
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x43f89e
cmp esi, dword [edi + 0x60]
ja 0x43f8d1
cmp dword [edi + 0x24], 0
je 0x43f89e
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x43f89e
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x43f901
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x43f954
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x43f93f
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x43f988
cmp edx, 0xc0
jb 0x43f988
lea edi, [ecx + 1]
test dl, 0x20
jne 0x43f9a9
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x4405d0.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x4405d0.8203
jmp case.0x447ea2.999
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x43f9d2
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43f985
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x43fa12
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x43f98b
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x43fa68
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x43f98b
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x43f98b
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x43fadb
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x43fac6
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x43fb0f
cmp ecx, 0xc0
jb 0x43fb0f
lea edi, [edx + 1]
test cl, 0x20
jne 0x43fb35
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x447ea2.999
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
je case.0x447ea2.999
lea eax, [esi + 1]
mov dword [edx], eax
jmp 0x43cfcd
lea ebx, [edx + 2]
test cl, 0x10
jne 0x43fb5e
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43fb0c
test cl, 8
jne 0x43fb95
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
mov dword [ebx + 0x38], eax
jmp 0x43fb0c
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test cl, 4
jne 0x43fbeb
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, edi
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x43fb12
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x43fb12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x43fc5e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x43fc49
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x43fc92
cmp edx, 0xc0
jb 0x43fc92
lea edi, [ecx + 1]
test dl, 0x20
jne 0x43fcb3
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x4405d0.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x4405d0.8203
jmp case.0x447ea2.999
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x43fcdc
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43fc8f
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x43fd1c
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x43fc95
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x43fd72
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x43fc95
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x43fc95
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x43fde5
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x43fdd0
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x43fe19
cmp edx, 0xc0
jb 0x43fe19
lea edi, [ecx + 1]
test dl, 0x20
jne 0x43fe3f
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x447ea2.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x447ea2.999
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x43cfcd
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x43fe68
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43fe16
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x43fea8
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x43fe1c
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x43fefe
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x43fe1c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x43fe1c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x43ff71
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x43ff5c
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x43ffa5
cmp edx, 0xc0
jb 0x43ffa5
lea edi, [ecx + 1]
test dl, 0x20
jne 0x43ffc6
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x4405d0.8203
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x4405d0.8203
jmp case.0x447ea2.999
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x43ffef
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x43ffa2
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x44002f
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x43ffa8
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x440085
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x43ffa8
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x43ffa8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4400f8
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x4400e3
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x44012c
cmp ecx, 0xc0
jb 0x44012c
lea edi, [edx + 1]
test cl, 0x20
jne 0x440152
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x447ea2.999
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je case.0x447ea2.999
lea eax, [esi + 1]
mov dword [edx], eax
jmp 0x43cfcd
lea ebx, [edx + 2]
test cl, 0x10
jne 0x44017b
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x440129
test cl, 8
jne 0x4401b2
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
mov dword [ebx + 0x38], eax
jmp 0x440129
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test cl, 4
jne 0x440208
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, edi
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x44012f
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x44012f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44027b
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x440266
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x44036e
cmp edx, 0xc0
jb 0x44036e
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4402ad
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x440360
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x4402cd
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x44035d
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4402f5
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x44035d
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x44033f
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x440371
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov ecx, dword [ebp - 4]
cmp edx, 0x85
ja 0x4403d2
je case.0x440387.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x447ea2.999
jmp dword [edx*4 + 0x44ba24]
cmp esi, dword [edi + 0x54]
jb 0x4403b9
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x440387.10
cmp esi, dword [edi + 0x60]
ja 0x4403b1
cmp dword [edi + 0x24], 0
je case.0x440387.10
cmp ecx, 1
jmp 0x4410b0
cmp byte [esi], 0xa
jne case.0x440387.10
lea eax, [esi + 1]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x43cfcd
sub edx, 0x2028
je case.0x440387.11
sub edx, 1
jne case.0x447ea2.999
cmp word [edi + 0x3e], 2
jne case.0x440387.10
jmp case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x440431
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44041c
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x440465
cmp edx, 0xc0
jb 0x440465
lea edi, [ecx + 1]
test dl, 0x20
jne 0x44049d
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0x2000
ja 0x4405a8
je case.0x447ea2.999
cmp edx, 0xa0
ja 0x440591
je case.0x447ea2.999
cmp edx, 9
je case.0x447ea2.999
cmp edx, 0x20
jmp 0x43fe2f
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x4404c6
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x440462
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x440506
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x440468
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x44055c
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x440468
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x440468
cmp edx, 0x1680
je case.0x447ea2.999
cmp edx, 0x180e
jmp 0x43fe2f
cmp edx, 0x3000
ja case.0x4405d0.8203
je case.0x447ea2.999
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4405d0.8203
movzx eax, byte [edx + 0x44ba3c]
jmp dword [eax*4 + 0x44ba34]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x440615
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x440600
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x440649
cmp edx, 0xc0
jb 0x440649
lea edi, [ecx + 1]
test dl, 0x20
jne 0x440687
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0x2000
ja 0x440798
je case.0x4405d0.8203
cmp edx, 0xa0
ja 0x44077b
je case.0x4405d0.8203
cmp edx, 9
je case.0x4405d0.8203
cmp edx, 0x20
je case.0x4405d0.8203
jmp case.0x447ea2.999
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x4406b0
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x440646
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x4406f0
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x44064c
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x440746
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x44064c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44064c
cmp edx, 0x1680
je case.0x4405d0.8203
cmp edx, 0x180e
je case.0x4405d0.8203
jmp case.0x447ea2.999
cmp edx, 0x3000
ja case.0x447ea2.999
je case.0x4405d0.8203
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x447ea2.999
movzx eax, byte [edx + 0x44baa4]
jmp dword [eax*4 + 0x44ba9c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x440805
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4407f0
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x440839
cmp edx, 0xc0
jb 0x440839
lea edi, [ecx + 1]
test dl, 0x20
jne 0x440861
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, 0x85
ja 0x440955
je case.0x447ea2.999
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4405d0.8203
jmp dword [edx*4 + 0x44bb04]
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x44088a
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x440836
lea eax, [ecx + 3]
mov dword [ebp + 8], eax
test dl, 8
jne 0x4408ca
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 4]
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
jmp 0x44083c
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test dl, 4
jne 0x440920
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x44083c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
jmp 0x44083c
sub edx, 0x2028
je case.0x447ea2.999
sub edx, 1
jne case.0x4405d0.8203
jmp case.0x447ea2.999
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4409ad
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x440998
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4409e1
cmp ecx, 0xc0
jb 0x4409e1
lea edi, [edx + 1]
test cl, 0x20
jne 0x440a09
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
cmp ecx, 0x85
ja 0x440af4
je case.0x440a02.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x447ea2.999
jmp dword [ecx*4 + 0x44bb14]
lea ebx, [edx + 2]
test cl, 0x10
jne 0x440a32
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x4409de
test cl, 8
jne 0x440a69
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
mov dword [ebx + 0x38], eax
jmp 0x4409de
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 3]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
test cl, 4
jne 0x440abf
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, edi
mov dword [edx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x4409e4
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
jmp 0x4409e4
sub ecx, 0x2028
je case.0x440a02.10
sub ecx, 1
je case.0x440a02.10
jmp case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x440b4c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x440b37
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x440c64
cmp edx, 0xc0
jb 0x440c64
lea edi, [ecx + 1]
test dl, 0x20
jne 0x440b8a
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x440c64
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x440bb6
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x440c64
lea eax, [ecx + 3]
mov dword [ebp + 0xc], eax
test dl, 8
jne 0x440bed
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x440c5e
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x30], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x30]
test dl, 4
jne 0x440c37
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x440c5e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, edx
xor ebx, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x4a0880]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4c80]
mov cl, byte [ebp + 0xb]
cmp cl, 0xf
lea edi, [eax + eax*2]
sete bl
movzx eax, byte [esi + 1]
cmp eax, 0xd
ja case.0x44858b.15
jmp dword [eax*4 + 0x44bb24]
cmp cl, 0xf
jne 0x440ea7
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov al, byte [edi*4 + 0x49c5c9]
cmp al, 9
je 0x440ccd
cmp al, 5
je 0x440ccd
cmp al, 8
je 0x440ccd
xor eax, eax
jmp 0x440cd2
mov eax, 1
cmp eax, ebx
jne 0x440ea7
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
movzx ecx, byte [edi*4 + 0x49c5c9]
xor edx, edx
movzx eax, byte [esi + 2]
cmp eax, dword [ecx*4 + 0x49a078]
sete dl
cmp edx, ebx
jne 0x440ea7
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x49c5c9]
sete cl
cmp ecx, ebx
jne 0x440ea7
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x49c5c8]
jmp 0x440d16
mov al, byte [esi + 2]
cmp al, byte [edi*4 + 0x49c5c8]
je 0x440ccd
movzx edx, word [edi*4 + 0x49c5d0]
movzx ecx, al
and edx, 0x3ff
mov eax, ecx
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x440d68
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49c2d0], eax
jne 0x440ccd
xor eax, eax
jmp 0x440cd2
movzx eax, byte [edi*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, 1
je 0x440ccd
cmp eax, 3
je 0x440ccd
xor eax, eax
jmp 0x440cd2
cmp edx, 0x20
ja 0x440dc5
je case.0x440c9e.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x440e3a.8203
jmp dword [edx*4 + 0x44bb5c]
cmp edx, 0x2000
ja 0x440e1a
je case.0x440c9e.0
cmp edx, 0x1680
ja 0x440e12
je case.0x440c9e.0
sub edx, 0x85
je case.0x440c9e.0
sub edx, 0x1b
je case.0x440c9e.0
movzx eax, byte [edi*4 + 0x49c5c9]
xor ecx, ecx
cmp dword [eax*4 + 0x49a078], 6
sete cl
cmp ecx, ebx
jmp 0x440ca8
cmp edx, 0x180e
jmp 0x440df0
cmp edx, 0x3000
ja case.0x440e3a.8203
je case.0x440c9e.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x440e3a.8203
movzx eax, byte [edx + 0x44bb78]
jmp dword [eax*4 + 0x44bb70]
movzx eax, byte [edi*4 + 0x49c5c9]
mov ecx, dword [eax*4 + 0x49a078]
cmp ecx, 1
je 0x440e6d
cmp ecx, 3
je 0x440e6d
cmp eax, 0xc
je 0x440e6d
cmp eax, 0x10
je 0x440e6d
xor eax, eax
cmp eax, ebx
jmp 0x440ca8
mov eax, 1
cmp eax, ebx
jmp 0x440ca8
movzx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x49bff8]
lea eax, [eax*4 + 0x49bff8]
cmp edx, ecx
jb 0x440e9d
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x440eaf
mov ecx, dword [eax]
cmp edx, ecx
jae 0x440e90
cmp byte [ebp + 0xb], 0xf
jne 0x43d1f7
lea eax, [esi + 3]
jmp 0x43cfc5
cmp byte [ebp + 0xb], 0xf
jmp 0x440ca8
cmp edx, 0x24
je 0x440e6d
cmp edx, 0x40
je 0x440e6d
cmp edx, 0x60
je 0x440e6d
cmp edx, 0xa0
jb 0x440ed7
cmp edx, 0xd7ff
jbe 0x440e6d
cmp edx, 0xe000
jae 0x440e6d
xor eax, eax
cmp eax, ebx
jmp 0x440ca8
mov ax, word [edi*4 + 0x49c5d0]
xor ecx, ecx
shr ax, 0xb
cmp al, byte [esi + 2]
sete cl
cmp ecx, ebx
jmp 0x440ca8
movzx ecx, byte [esi + 2]
movzx edx, word [edi*4 + 0x49c5d2]
mov eax, ecx
and edx, 0xfff
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x440f29
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x49ba70]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
jmp 0x440ca8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x440f84
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x440f6f
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x441077
cmp edx, 0xc0
jb 0x441077
lea esi, [ecx + 1]
test dl, 0x20
jne 0x440fb6
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x441069
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x440fd6
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x441066
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x440ffe
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x441066
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x441048
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x441077
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.0045a6f0
mov ecx, dword [ebp - 4]
add esp, 0x18
mov dword [ecx + 0x38], eax
cmp eax, dword [edi + 0x54]
jb case.0x440387.10
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je case.0x440387.10
cmp eax, dword [edi + 0x60]
ja 0x4410ad
cmp dword [edi + 0x24], 0
je case.0x440387.10
cmp edx, 1
mov dword [edi + 0x1c], 1
ja 0x43ed43
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x43cfcd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edx, eax
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x4411d7
mov eax, dword [ebp - 4]
xor ebx, ebx
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov edx, eax
mov dword [eax + 0x24], ecx
cmp byte [esi], 0x5c
setne bl
add esi, 3
mov dword [ebp - 0xc], ebx
mov dword [eax], esi
jmp 0x4411d7
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edx, eax
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4411d7
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edx, eax
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x4411d7
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edx, eax
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x4411d7
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edx, eax
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x4411d7
movzx ecx, byte [esi]
inc esi
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x4977e4]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + str.bad_range_inside___]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x49783c]
mov dword [ebp - 0xc], eax
mov cl, byte [esi]
inc esi
movzx eax, cl
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
cmp cl, 0x10
je 0x4411f4
cmp cl, 0xf
je 0x4411f4
or ebx, 0xffffffff
jmp 0x44120c
mov edx, dword [ebp - 4]
lea ecx, [esi + 1]
movzx ebx, byte [esi]
mov dword [eax], ecx
movzx eax, byte [ecx]
mov dword [edx + 0x2c], eax
lea eax, [ecx + 1]
mov dword [edx], eax
mov eax, edx
mov edi, dword [eax + 0x20]
mov dword [ebp - 0x30], ebx
mov dword [ebp + 8], edi
test edi, edi
je 0x4412b4
mov esi, dword [eax + 0x28]
mov dword [ebp - 0x14], esi
test ebx, ebx
js 0x4428b1
xor eax, eax
cmp esi, 0xf
sete al
mov dword [ebp + 0xc], eax
cmp ebx, 0xd
ja case.0x44858b.15
jmp dword [ebx*4 + 0x44bbd8]
cmp esi, 0xf
je 0x43d1f7
mov esi, 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x441307
cmp dword [ebp - 8], 0
lea eax, [edx + 1]
mov ebx, dword [ebp - 4]
movzx ecx, byte [edx]
mov dword [ebx + 0x38], eax
je 0x4412ac
cmp ecx, 0xc0
jb 0x4412ac
test cl, 0x20
jne 0x44128a
lea eax, [edx + 2]
jmp 0x4412a9
test cl, 0x10
jne 0x441294
lea eax, [edx + 3]
jmp 0x4412a9
test cl, 8
jne 0x44129e
lea eax, [edx + 4]
jmp 0x4412a9
lea eax, [edx + 5]
test cl, 4
je 0x4412a9
lea eax, [edx + 6]
mov dword [ebx + 0x38], eax
inc esi
cmp esi, edi
jbe 0x441254
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], edx
cmp edx, edi
je 0x43cfca
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x30]
je 0x44af7d
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
mov ebx, dword [eax + 0x28]
mov dword [ebp - 0x2c], ebx
test ecx, ecx
js 0x44551a
xor eax, eax
cmp ebx, 0xf
sete al
mov dword [ebp - 0x14], eax
cmp ecx, 0xd
ja case.0x44858b.15
jmp dword [ecx*4 + 0x44bc10]
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x441327
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4414c1
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x441469
cmp edx, 0xc0
jb 0x441469
lea esi, [eax + 1]
test dl, 0x20
jne 0x441398
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x441469
lea edi, [eax + 2]
test dl, 0x10
jne 0x4413c4
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x441466
lea ebx, [eax + 3]
test dl, 8
jne 0x4413f8
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x441463
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x441437
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44145d
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x49c5c9]
cmp al, 9
je 0x4414a2
cmp al, 5
je 0x4414a2
cmp al, 8
je 0x4414a2
xor eax, eax
jmp 0x4414a7
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
jbe 0x441344
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4414e1
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x44167b
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x441625
cmp edx, 0xc0
jb 0x441625
lea esi, [eax + 1]
test dl, 0x20
jne 0x441554
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x441625
lea edi, [eax + 2]
test dl, 0x10
jne 0x441580
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x441622
lea ebx, [eax + 3]
test dl, 8
jne 0x4415b4
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x44161f
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4415f3
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x441619
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
jbe 0x441500
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44169b
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x14], ebx
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x441834
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x4417e5
cmp edx, 0xc0
jb 0x4417e5
lea esi, [eax + 1]
test dl, 0x20
jne 0x441714
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x4417e5
lea edi, [eax + 2]
test dl, 0x10
jne 0x441740
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4417e2
lea ebx, [eax + 3]
test dl, 8
jne 0x441774
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x4417df
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4417b3
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4417d9
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
jbe 0x4416c0
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x441854
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4419e5
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x441996
cmp edx, 0xc0
jb 0x441996
lea esi, [eax + 1]
test dl, 0x20
jne 0x4418c5
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x441996
lea edi, [eax + 2]
test dl, 0x10
jne 0x4418f1
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x441993
lea ebx, [eax + 3]
test dl, 8
jne 0x441925
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x441990
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x441964
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44198a
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c8]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
jbe 0x441871
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x441a05
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x441bc6
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x441b47
cmp edx, 0xc0
jb 0x441b47
lea esi, [eax + 1]
test dl, 0x20
jne 0x441a76
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x441b47
lea edi, [eax + 2]
test dl, 0x10
jne 0x441aa2
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x441b44
lea ebx, [eax + 3]
test dl, 8
jne 0x441ad6
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x441b41
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x441b15
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x441b3b
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
movzx eax, byte [edx*4 + 0x49c5c8]
cmp eax, ecx
je 0x441ba7
movzx edx, word [edx*4 + 0x49c5d0]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49c2d0], eax
jne 0x441ba7
xor eax, eax
jmp 0x441bac
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
jbe 0x441a22
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x441be6
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x441d86
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x441d28
cmp edx, 0xc0
jb 0x441d28
lea esi, [eax + 1]
test dl, 0x20
jne 0x441c57
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x441d28
lea edi, [eax + 2]
test dl, 0x10
jne 0x441c83
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x441d25
lea ebx, [eax + 3]
test dl, 8
jne 0x441cb7
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x441d22
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x2c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x441cf6
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x441d1c
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, 1
je 0x441d67
cmp eax, 3
je 0x441d67
xor eax, eax
jmp 0x441d6c
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
jbe 0x441c03
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x441da6
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x441fbb
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x441eea
cmp edx, 0xc0
jb 0x441eea
lea esi, [ecx + 1]
test dl, 0x20
jne 0x441e13
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x441ee7
lea edi, [ecx + 2]
test dl, 0x10
jne 0x441e3f
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x441ee4
lea ebx, [ecx + 3]
test dl, 8
jne 0x441e76
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x441ee1
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x441eb5
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x441edb
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
cmp edx, 0x20
ja 0x441f04
je case.0x441faf.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x441faf.8203
jmp dword [eax*4 + 0x44bc48]
cmp edx, 0x2000
ja 0x441f93
je case.0x441faf.8193
cmp edx, 0x1680
ja 0x441f8b
je case.0x441faf.8193
mov eax, edx
sub eax, 0x85
je case.0x441faf.8193
sub eax, 0x1b
je case.0x441faf.8193
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
cmp dword [eax*4 + 0x49a078], 6
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, edi
jbe 0x441dc3
jmp 0x4412b1
cmp edx, 0x180e
jmp 0x441f34
cmp edx, 0x3000
ja case.0x441faf.8203
je case.0x441faf.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x441faf.8203
movzx eax, byte [eax + 0x44bc64]
jmp dword [eax*4 + 0x44bc5c]
cmp esi, 0xf
jmp 0x441f74
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x441fdb
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x2c], ebx
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x44218d
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x442125
cmp edx, 0xc0
jb 0x442125
lea esi, [eax + 1]
test dl, 0x20
jne 0x442054
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x442125
lea edi, [eax + 2]
test dl, 0x10
jne 0x442080
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x442122
lea ebx, [eax + 3]
test dl, 8
jne 0x4420b4
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x44211f
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4420f3
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x442119
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov ecx, dword [eax*4 + 0x49a078]
cmp ecx, 1
je 0x44216e
cmp ecx, 3
je 0x44216e
cmp eax, 0xc
je 0x44216e
cmp eax, 0x10
je 0x44216e
xor eax, eax
jmp 0x442173
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, edi
jbe 0x442000
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4421ad
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp + 0xc], ebx
nop word [eax + eax]
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x442342
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4422f7
cmp edx, 0xc0
jb 0x4422f7
lea esi, [ecx + 1]
test dl, 0x20
jne 0x442220
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4422f1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x44224c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x4422ee
lea ebx, [ecx + 3]
test dl, 8
jne 0x442280
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x4422eb
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4422bf
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4422e5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax*4 + 0x49bff8]
lea eax, [eax*4 + 0x49bff8]
cmp edx, ecx
jb 0x44231d
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x442337
mov ecx, dword [eax]
cmp edx, ecx
jae 0x442310
cmp esi, 0xf
jne 0x43d1f7
inc ebx
mov dword [ebp + 0xc], ebx
cmp ebx, edi
jbe 0x4421d0
jmp 0x4412b1
cmp esi, 0xf
je 0x43d1f7
jmp 0x442326
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x442362
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x2c], ebx
nop
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x4424eb
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x4424a1
cmp edx, 0xc0
jb 0x4424a1
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4423d0
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x4424a1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4423fc
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x44249e
lea ebx, [ecx + 3]
test dl, 8
jne 0x442430
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x44249b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x44246f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x442495
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
cmp edx, 0x24
je 0x4424cc
cmp edx, 0x40
je 0x4424cc
cmp edx, 0x60
je 0x4424cc
cmp edx, 0xa0
jb 0x4424c0
cmp edx, 0xd7ff
jbe 0x4424cc
cmp edx, 0xe000
jae 0x4424cc
xor eax, eax
jmp 0x4424d1
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, edi
jbe 0x442380
jmp 0x4412b1
mov edi, edx
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44250b
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x2c], ebx
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x4426a7
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x442655
cmp edx, 0xc0
jb 0x442655
lea esi, [eax + 1]
test dl, 0x20
jne 0x442584
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x442655
lea edi, [eax + 2]
test dl, 0x10
jne 0x4425b0
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x442652
lea ebx, [eax + 3]
test dl, 8
jne 0x4425e4
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x44264f
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x442623
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x442649
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x49c5d0]
shr eax, 0xb
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, edi
jbe 0x442530
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4426c7
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ebx, 1
mov dword [ebp - 0x2c], ebx
lea esi, [ebx + 0x7f]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x44287c
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
je 0x442814
cmp edx, 0xc0
jb 0x442814
lea esi, [eax + 1]
test dl, 0x20
jne 0x44273b
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ecx
mov dword [eax + 0x38], esi
jmp 0x44280c
lea edi, [eax + 2]
test dl, 0x10
jne 0x442767
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x442809
lea ebx, [eax + 3]
test dl, 8
jne 0x44279b
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x442806
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x3c], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4427da
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x3c]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x442800
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov esi, 0x80
mov eax, edx
mov ecx, dword [ecx + 0x2c]
cdq
idiv esi
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x49c5d2]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x49ba70]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp + 0xc]
je 0x43d1f7
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, edi
jbe 0x4426e7
jmp 0x4412b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44289c
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp esi, 0x16
jne 0x442a63
mov edi, dword [ebp + 0x1c]
mov ebx, 1
mov dword [ebp + 8], ebx
nop word [eax + eax]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x442a30
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4429d5
cmp edx, 0xc0
jb 0x4429d5
lea esi, [ecx + 1]
test dl, 0x20
jne 0x44290e
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x4429c7
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x44292e
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x4429c4
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x442956
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x4429c1
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 0xc], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4429a3
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x4429d5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.0045a6f0
mov esi, dword [ebp - 4]
add esp, 0x18
mov dword [esi + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x442a1b
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x442a1b
cmp eax, dword [edi + 0x60]
ja 0x442a0b
cmp dword [edi + 0x24], 0
je 0x442a1b
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [esi + 0x20]
jbe 0x4428d0
jmp 0x4412b1
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x442a4e
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
lea eax, [esi - 6]
cmp eax, 0xf
ja case.0x44858b.15
mov esi, dword [ebp - 8]
test esi, esi
je 0x44395f
jmp dword [eax*4 + 0x44bcc4]
jmp dword [eax*4 + 0x44be04]
cmp edx, edi
jae 0x444062
nop word [eax + eax]
mov ecx, dword [ebp + 0x1c]
mov eax, 1
cmp esi, dword [ecx + 0x54]
jae 0x44407a
cmp dword [ebp - 8], 0
movzx ecx, byte [esi]
je 0x444050
cmp ecx, 0xc0
jb 0x444050
test cl, 0x20
jne 0x44402a
mov eax, 2
jmp 0x444050
test cl, 0x10
jne 0x444036
mov eax, 3
jmp 0x444050
test cl, 8
jne 0x444042
mov eax, 4
jmp 0x444050
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp ebx, 0xf
je 0x444062
add esi, eax
inc edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
cmp edx, edi
jb 0x444000
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x43cfd0
mov ebx, dword [ebp - 4]
jmp 0x44a5e3
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x444092
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov ebx, 0x80
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x44421b
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4441bd
cmp edx, 0xc0
jb 0x4441bd
test dl, 0x20
jne 0x4440f8
movzx eax, byte [esi + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, 2
jmp 0x4441bd
test dl, 0x10
jne 0x444122
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, 3
shl edx, 6
or edx, eax
jmp 0x4441bd
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x444155
and edx, 7
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4441bd
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x44418d
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4441b5
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov ecx, 6
mov edi, dword [ebp + 0xc]
mov ebx, 0x80
mov eax, edx
cdq
idiv ebx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x49c5c9]
cmp al, 9
je 0x4441f1
cmp al, 5
je 0x4441f1
cmp al, 8
je 0x4441f1
xor eax, eax
jmp 0x4441f6
mov eax, 1
cmp eax, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp - 4]
add esi, ecx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x4440b0
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x44423b
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x4443c4
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x444365
cmp edx, 0xc0
jb 0x444365
test dl, 0x20
jne 0x4442a8
movzx eax, byte [esi + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, 2
jmp 0x444365
test dl, 0x10
jne 0x4442d2
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x444365
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x444305
and edx, 7
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x444365
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x44433d
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x444365
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x444260
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x4443e4
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x444565
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x44450d
cmp edx, 0xc0
jb 0x44450d
test dl, 0x20
jne 0x444449
movzx eax, byte [esi + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, 2
jmp 0x44450d
test dl, 0x10
jne 0x444473
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x44450d
test dl, 8
jne 0x4444a6
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44450d
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x4444e5
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x44450d
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x444401
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x444585
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x4446ff
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4446a7
cmp edx, 0xc0
jb 0x4446a7
test dl, 0x20
jne 0x4445ea
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x4446a7
test dl, 0x10
jne 0x444614
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x4446a7
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x444647
and edx, 7
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4446a7
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x44467f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x4446a7
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c8]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x4445a2
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x44471f
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov ebx, dword [ebp - 4]
nop
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x4448d4
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x44484f
cmp edx, 0xc0
jb 0x44484f
test dl, 0x20
jne 0x444788
movzx eax, byte [esi + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, 2
jmp 0x44484f
test dl, 0x10
jne 0x4447b2
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x44484f
test dl, 8
jne 0x4447e5
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44484f
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x444824
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x44484c
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov ebx, dword [ebp - 4]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
mov ecx, dword [ebx + 0x2c]
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x49c5c8]
cmp eax, ecx
je 0x4448ac
movzx edx, word [edx*4 + 0x49c5d0]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49c2d0], eax
jne 0x4448ac
xor eax, eax
jmp 0x4448b1
mov eax, 1
cmp eax, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [ebx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x444740
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x4448f4
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov ebx, 0x80
nop word [eax + eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x444a98
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x444a34
cmp edx, 0xc0
jb 0x444a34
test dl, 0x20
jne 0x444968
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, 2
jmp 0x444a34
test dl, 0x10
jne 0x444992
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, 3
shl edx, 6
or edx, eax
jmp 0x444a34
test dl, 8
jne 0x4449c5
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x444a34
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x444a04
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x444a2c
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov ecx, 6
mov edi, dword [ebp + 0xc]
mov ebx, 0x80
mov eax, edx
cdq
idiv ebx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, 1
je 0x444a6e
cmp eax, 3
je 0x444a6e
xor eax, eax
jmp 0x444a73
mov eax, 1
cmp eax, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp - 4]
add esi, ecx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x444920
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x444ab8
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x444ca5
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x444bc8
cmp edx, 0xc0
jb 0x444bc8
test dl, 0x20
jne 0x444b15
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x444bc0
test dl, 0x10
jne 0x444b37
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x444bc0
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x444b62
and edx, 7
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x444bc0
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x444b9d
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x2c]
jmp 0x444bc8
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x2c]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x20
ja 0x444be2
je case.0x444c99.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x444c99.8203
jmp dword [eax*4 + 0x44bfd8]
cmp edx, 0x2000
ja 0x444c7d
je case.0x444c99.8193
cmp edx, 0x1680
ja 0x444c75
je case.0x444c99.8193
mov eax, edx
sub eax, 0x85
je case.0x444c99.8193
sub eax, 0x1b
je case.0x444c99.8193
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
cmp dword [eax*4 + 0x49a078], 6
sete cl
cmp ecx, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp - 4]
add esi, edi
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x444ad5
jmp 0x444062
cmp edx, 0x180e
jmp 0x444c12
cmp edx, 0x3000
ja case.0x444c99.8203
je case.0x444c99.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x444c99.8203
movzx eax, byte [eax + 0x44bff4]
jmp dword [eax*4 + 0x44bfec]
cmp ebx, 0xf
jmp 0x444c52
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x444cc5
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x444e5b
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x444de7
cmp edx, 0xc0
jb 0x444de7
test dl, 0x20
jne 0x444d2a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x444de7
test dl, 0x10
jne 0x444d54
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x444de7
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x444d87
and edx, 7
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x444de7
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x444dbf
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x444de7
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov ecx, dword [eax*4 + 0x49a078]
cmp ecx, 1
je 0x444e30
cmp ecx, 3
je 0x444e30
cmp eax, 0xc
je 0x444e30
cmp eax, 0x10
je 0x444e30
xor eax, eax
jmp 0x444e35
mov eax, 1
cmp eax, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp - 4]
add esi, edi
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x444ce2
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x444e7b
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x444ff0
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x444f9a
cmp edx, 0xc0
jb 0x444f9a
test dl, 0x20
jne 0x444ee0
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x444f92
test dl, 0x10
jne 0x444f02
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
mov edi, 3
or edx, ecx
jmp 0x444f92
test dl, 8
jne 0x444f2d
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x444f92
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x444f6f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x2c]
jmp 0x444f9a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 0x2c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax*4 + 0x49bff8]
lea eax, [eax*4 + 0x49bff8]
cmp edx, ecx
jb 0x444fbf
lea eax, [eax + 4]
cmp edx, ecx
je 0x444fe5
mov ecx, dword [eax]
cmp edx, ecx
jae 0x444fb2
cmp ebx, 0xf
jne 0x444062
mov eax, dword [ebp - 4]
add esi, edi
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x444ea0
jmp 0x444062
cmp ebx, 0xf
je 0x444062
jmp 0x444fc8
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x445010
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x445178
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x445123
cmp edx, 0xc0
jb 0x445123
test dl, 0x20
jne 0x445070
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x44511b
test dl, 0x10
jne 0x445092
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x44511b
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x4450bd
and edx, 7
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x44511b
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x4450f8
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
jmp 0x445123
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x24
je 0x44514e
cmp edx, 0x40
je 0x44514e
cmp edx, 0x60
je 0x44514e
cmp edx, 0xa0
jb 0x445142
cmp edx, 0xd7ff
jbe 0x44514e
cmp edx, 0xe000
jae 0x44514e
xor eax, eax
jmp 0x445153
mov eax, 1
cmp eax, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp - 4]
add esi, ecx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x445030
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x445198
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x44531c
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x4452c1
cmp edx, 0xc0
jb 0x4452c1
test dl, 0x20
jne 0x4451fd
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x4452c1
test dl, 0x10
jne 0x445227
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x4452c1
test dl, 8
jne 0x44525a
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x4452c1
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x445299
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x4452c1
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x49c5d0]
shr eax, 0xb
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x4451b5
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x44533c
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp edx, edi
jae 0x444062
mov ebx, dword [ebp - 4]
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x4454e5
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x44546f
cmp edx, 0xc0
jb 0x44546f
test dl, 0x20
jne 0x4453a8
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x44546f
test dl, 0x10
jne 0x4453d2
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 3
shl edx, 6
or edx, eax
jmp 0x44546f
test dl, 8
jne 0x445405
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov edi, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44546f
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x445444
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, ebx
jmp 0x44546c
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
mov edi, 6
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov ebx, dword [ebp - 4]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
mov ecx, dword [ebx + 0x2c]
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x49c5d2]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x49ba70]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x14]
je 0x444062
mov eax, dword [ebp + 8]
add esi, edi
inc eax
mov dword [ebx + 0x38], esi
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x445360
jmp 0x444062
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x444065
cmp esi, dword [edi + 0x60]
ja 0x445505
cmp dword [edi + 0x24], 0
je 0x444065
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp 0x444065
cmp ebx, 0x16
jne 0x4456c2
cmp edx, edi
mov edi, dword [ebp + 0x1c]
jae 0x4456b0
jmp 0x445533
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x44568a
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x445632
cmp edx, 0xc0
jb 0x445632
lea esi, [ecx + 1]
test dl, 0x20
jne 0x445571
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x445624
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x445591
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x445621
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x4455b9
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x445621
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 0xc], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x445603
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x445632
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.0045a6f0
mov esi, dword [ebp - 4]
add esp, 0x18
mov dword [esi + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x445678
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x445678
cmp eax, dword [edi + 0x60]
ja 0x445668
cmp dword [edi + 0x24], 0
je 0x445678
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [esi + 0x24]
jb 0x445530
jmp 0x4456b0
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x4456b0
cmp ecx, dword [edi + 0x60]
ja 0x4456a0
cmp dword [edi + 0x24], 0
je 0x4456b0
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x43cfd0
jmp 0x44aee8
lea eax, [ebx - 6]
cmp eax, 0xf
ja case.0x44858b.15
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x44664d
jmp dword [eax*4 + 0x44c054]
jmp dword [eax*4 + 0x44c10c]
mov ecx, dword [ebp + 0x1c]
xor eax, eax
cmp bl, 0x74
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx edi, byte [esi + 3]
movzx eax, byte [esi + 4]
movzx edx, byte [esi + 1]
shl edi, 8
or edi, eax
shl edx, 8
movzx eax, byte [esi + 2]
or edx, eax
movzx eax, word [ecx + 0x42]
imul edx, eax
lea eax, [esi + 5]
add edx, dword [ecx + 0x44]
mov dword [ebx], eax
test edi, edi
je 0x446d32
movzx ecx, byte [edx]
dec edi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
lea ecx, [ecx*2 - 2]
mov dword [eax + 0x14], ecx
cmp ecx, dword [eax + 0x54]
jae 0x446cf6
cmp dword [eax + ecx*4 + 0x58], 0xffffffff
jne 0x446d03
mov ecx, dword [ebp + 0x1c]
movzx eax, word [ecx + 0x42]
add edx, eax
test edi, edi
jg 0x446cd0
mov ebx, dword [ebp - 4]
jmp 0x446d32
xor eax, eax
cmp bl, 0x72
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx*2 - 2]
mov dword [ebx + 0x14], eax
lea eax, [esi + 3]
mov dword [ebx], eax
mov edx, dword [ebx]
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x446d4a
movzx eax, byte [eax + 0x44c25c]
jmp dword [eax*4 + 0x44c254]
mov edi, dword [ecx*4 + 0x4977b0]
lea eax, [edx + 1]
mov esi, dword [ecx*4 + 0x497808]
mov edx, dword [ebp - 4]
mov dword [ebx], eax
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x24]
mov dword [ebp - 0xc], esi
mov dword [eax + 0x20], edi
mov eax, dword [ecx*4 + 0x4977dc]
mov dword [ebx], eax
jmp 0x446dc1
movzx edi, byte [edx + 1]
lea ebx, [ebx + 0x24]
movzx eax, byte [edx + 2]
shl edi, 8
or edi, eax
mov dword [ebx - 4], edi
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebx], ecx
movzx eax, byte [edx]
mov eax, dword [eax*4 + 0x497808]
mov dword [ebp - 0xc], eax
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov dword [ebx], eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov ecx, dword [edx + 0x14]
mov eax, ebx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], ebx
cmp ecx, dword [edx + 0x54]
jae 0x446df2
mov eax, dword [edx + ecx*4 + 0x58]
cmp eax, 0xffffffff
je 0x446dec
cmp eax, dword [edx + ecx*4 + 0x5c]
je 0x43cfca
lea eax, [edx + 0x24]
mov dword [ebp + 8], eax
jmp 0x446e0d
lea eax, [edx + 0x24]
mov dword [ebp + 8], eax
test edi, edi
je 0x43cfca
mov esi, dword [ebp + 0x1c]
test dword [esi + 0x80], 0x200
jne 0x43cfc1
mov esi, 1
cmp edi, esi
jb 0x446e4e
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
push eax
push dword [eax + 0x28]
push ecx
call fcn.0044c8c0
add esp, 0x14
test eax, eax
jne 0x446ebd
mov edx, dword [ebp - 4]
inc esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x40]
mov dword [edx + 0x38], eax
cmp esi, edi
jbe 0x446e16
mov eax, ebx
mov dword [ebp + 8], eax
mov ebx, dword [eax]
cmp edi, ebx
je 0x43cfca
cmp dword [ebp - 0xc], 0
je 0x44b056
mov eax, dword [edx + 0x38]
mov esi, 1
mov dword [edx + 4], eax
mov eax, dword [edx + ecx*4 + 0x5c]
sub eax, dword [edx + ecx*4 + 0x58]
mov dword [edx + 0xc], eax
cmp edi, ebx
jae 0x446f3d
lea eax, [ebp - 0x44]
push eax
push dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
push eax
push dword [eax + 0x28]
push ecx
call fcn.0044c8c0
add esp, 0x14
test eax, eax
jne 0x446f0d
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ecx + 0xc]
cmovne esi, edx
add dword [ecx + 0x38], eax
mov ecx, dword [ebp + 0xc]
inc edi
cmp edi, ebx
jb 0x446e80
jmp 0x446f35
mov edi, dword [ebp + 0x1c]
jle 0x446ecb
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x446ef8
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
jle 0x446f35
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x446f35
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x60]
jbe 0x446f35
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
test esi, esi
je 0x44afae
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x15
jmp 0x44b60e
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 4]
push edi
push eax
push dword [eax + 0x28]
push dword [eax + 0x14]
call fcn.0044c8c0
add esp, 0x14
test eax, eax
je 0x446fc8
jle 0x446f86
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x446fb3
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
add dword [ecx + 0x38], eax
jmp 0x43cfcd
mov eax, dword [ebp - 4]
inc esi
mov dword [eax], esi
nop dword [eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, esi
mov esi, eax
mov dword [ecx], eax
cmp byte [esi], 0x78
je 0x446fe0
add eax, 3
mov dword [ecx], eax
jmp 0x43cfd0
cmp dword [edi + 0x20], 0
jne 0x44afc1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x44afc1
mov ebx, eax
jmp 0x447dc5
lea eax, [ebp - 0x24]
push eax
push edi
push dword [ebp - 4]
call fcn.0043cdb0
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x447ea2.999
js case.0x447ea2.998
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
add dword [ecx], eax
jmp 0x43cfcd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
cmp byte [esi + ecx], 0x78
je 0x447074
lea eax, [ecx - 3]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov eax, ecx
lea edi, [esi + 3]
mov dword [eax], edi
mov al, byte [edi]
cmp al, 0x76
je 0x447083
cmp al, 0x77
jne 0x4470b5
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x24]
push eax
push edi
push dword [ebp - 4]
call fcn.0043cdb0
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x447ea2.999
js case.0x447ea2.998
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
add dword [ebx], eax
mov edi, dword [ebx]
sub dword [ebx + 0xc], eax
jmp 0x4470b8
mov ebx, dword [ebp - 4]
mov cl, byte [edi]
movzx eax, cl
add eax, 0xffffff6f
cmp eax, 0x12
ja case.0x4470d2.151
movzx eax, byte [eax + 0x44c280]
jmp dword [eax*4 + 0x44c264]
mov edx, dword [ebx + 0x48]
cmp edx, 0xffffffff
je case.0x4470d2.149
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x44ac4e
cmp ecx, edx
je 0x44ac4e
jmp 0x44718a
mov eax, dword [ebx + 0x48]
mov dword [ebp + 8], eax
cmp eax, 0xffffffff
je case.0x4470d2.149
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 1]
shl esi, 8
or esi, eax
shl edx, 8
mov eax, dword [ebp + 0x1c]
movzx ebx, word [eax + 0x42]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
or edx, eax
imul edx, ebx
add edx, dword [edi + 0x44]
test esi, esi
je 0x44ac5f
mov edi, dword [ebp + 8]
movzx eax, byte [edx]
dec esi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
cmp ecx, edi
je 0x4471b2
add edx, ebx
test esi, esi
jg 0x447152
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea ebx, [ecx + eax]
mov eax, dword [ebp - 4]
mov dword [eax], ebx
cmp byte [eax + 0x31], 0x90
jne 0x43cfcd
mov ecx, 0x20090
mov byte [eax + 0x30], 0x23
mov dword [ebp - 0x18], ecx
jmp 0x44b60e
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
movzx eax, byte [ecx]
mov dword [ebp - 4], ebx
movzx eax, byte [eax + 0x499ef8]
jmp 0x44718f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x54]
jae 0x44718a
cmp dword [ebx + ecx*4 + 0x58], 0xffffffff
je 0x44718a
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x499ef8]
jmp 0x44718f
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 1]
shl esi, 8
or esi, eax
shl edx, 8
mov eax, dword [ebp + 0x1c]
movzx ebx, word [eax + 0x42]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x1c]
or edx, eax
imul edx, ebx
add edx, dword [edi + 0x44]
test esi, esi
je 0x44ac5f
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x54]
nop dword [eax]
movzx ecx, byte [edx]
dec esi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, edi
jae 0x447276
mov eax, dword [ebp - 4]
cmp dword [eax + ecx*4 + 0x58], 0xffffffff
jne 0x44ac48
add edx, ebx
test esi, esi
jg 0x447250
mov ebx, dword [ebp - 4]
jmp case.0x4470d2.149
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 4]
shl edx, 8
or edx, eax
cmp dword [ebp - 8], 0
je 0x4472d2
test edx, edx
je 0x4472e7
nop
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [edi + 0x50]
jbe case.0x447ea2.999
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4472cc
nop dword [eax]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4472c0
test edx, edx
jne 0x4472a0
jmp 0x4472e7
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x4c]
cmp edx, eax
jg case.0x447ea2.999
sub ecx, edx
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x60]
jae 0x4472f2
mov dword [edi + 0x60], eax
add dword [ebx], 3
jmp 0x43cfcd
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
mov edx, dword [ebp - 4]
shl edi, 8
or edi, eax
mov dword [edx + 0x20], edi
movzx ebx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ebx, 8
or ebx, eax
cmp dword [ebp - 8], 0
mov dword [edx + 0x24], ebx
mov ecx, dword [edx + 0x38]
mov dword [edx + 4], ecx
je 0x44737c
mov ebx, dword [ebp - 4]
xor edx, edx
mov edi, dword [ebp + 0x1c]
cmp edx, dword [ebx + 0x24]
jae 0x448761
cmp ecx, dword [edi + 0x4c]
je 0x44735f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44735c
nop dword [eax + eax]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x447350
inc edx
jmp 0x447331
cmp edx, dword [ebx + 0x20]
jb case.0x447ea2.999
mov eax, dword [ebp - 4]
mov dword [ebx + 0x24], edx
mov ebx, dword [ebx]
add ebx, 5
mov byte [eax + 0x30], 0x25
jmp 0x44b60e
mov edx, dword [ebp + 0x1c]
mov eax, ecx
sub eax, dword [edx + 0x4c]
cmp eax, 0xffff
jle 0x447392
mov edx, 0xffff
jmp 0x447399
xor edx, edx
test eax, eax
cmovg edx, eax
cmp edi, edx
ja 0x43d1f7
cmp ebx, edx
jbe 0x4473ad
mov eax, dword [ebp - 4]
mov ebx, edx
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 4]
sub ecx, ebx
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov ebx, dword [ebx]
add ebx, 5
mov byte [eax + 0x30], 0x25
jmp 0x44b60e
mov dword [ebp - 0x1c], esi
nop dword [eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, esi
mov esi, eax
mov dword [ecx], eax
cmp byte [esi], 0x78
je 0x4473d0
jmp 0x43cfd0
movzx ecx, byte [esi + 1]
mov ebx, esi
movzx eax, byte [esi + 2]
mov edi, dword [ebp - 0x1c]
shl ecx, 8
or ecx, eax
sub ebx, ecx
test edi, edi
mov edx, ebx
cmove edi, esi
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ebx]
cmp eax, edi
je 0x447437
nop
movzx eax, byte [edx + ecx + 2]
add edx, ecx
movzx ecx, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea eax, [edx + ecx]
cmp eax, edi
jne 0x447420
mov al, byte [ebx]
mov dword [ebp - 0x1c], 0
cmp al, 0x87
je 0x4474b6
cmp al, 0x8b
je 0x4474b6
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x18]
add eax, dword [ecx + 0x50]
mov edi, eax
mov dword [ebp - 0x10], eax
sub edi, dword [ebp + 0x14]
mov eax, dword [edi + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x4474bb
mov eax, dword [ecx + 0x54]
shl eax, 2
push eax
lea eax, [ecx + 0x58]
push eax
lea eax, [edi + 0x58]
push eax
call fcn.0045cb10
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [ecx + 0x54]
mov dword [edi + 0x54], eax
mov eax, dword [ecx + 0x40]
mov dword [edi + 0x40], eax
mov eax, ecx
sub eax, edi
mov dword [ecx + 0x10], eax
mov edi, dword [ebp + 0x1c]
mov esi, 1
jmp case.0x447ea2.998
mov ecx, dword [ebp - 4]
xor edi, edi
movzx eax, byte [ebx]
add eax, 0xffffff81
cmp eax, 0x10
ja case.0x4474ca.136
jmp dword [eax*4 + 0x44c294]
cmp dword [ecx + 0x48], 0
jne case.0x4474ca.136
cmp byte [esi + 3], 0
jne case.0x4474ca.136
mov eax, dword [ecx + 0x50]
cmp eax, 0xffffffff
je case.0x44858b.15
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0x18]
add edx, eax
mov esi, edx
mov dword [ebp - 0x10], edx
sub esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [ecx + 0x54]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ecx + 0x58]
push eax
call fcn.0045cb10
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi]
add eax, 3
jmp 0x43cfc8
cmp byte [edx + 3], 0x7e
jne case.0x4474ca.131
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x43d1f7
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x64]
jbe 0x44755d
mov dword [edx + 0x64], eax
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x38], eax
jmp case.0x4474ca.136
cmp byte [edx + 3], 0x7e
jne case.0x4474ca.127
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x43d1f7
mov edx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edx + 0x64]
jbe 0x447588
mov dword [edx + 0x64], eax
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x38], eax
mov eax, ecx
sub eax, edi
mov dword [ecx + 0x10], eax
mov edx, dword [edi]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
jne case.0x4474ca.136
nop
lea eax, [ecx + edx]
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp byte [edx + ecx], 0x78
je 0x4475b0
jmp case.0x4474ca.136
cmp byte [edx + 3], 0x7e
jne case.0x4474ca.128
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x38]
je case.0x4474ca.128
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x447ea2.998
push dword [ebp - 8]
push dword [ecx + 0x38]
push dword [edi + 0x38]
call fcn.0045aa80
add esp, 0xc
test eax, eax
jne case.0x4474ca.136
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp case.0x447ea2.998
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
cmp dword [ecx + 0x48], edx
jne 0x447660
mov esi, dword [ebp - 0x10]
mov eax, dword [ecx + 0x54]
sub esi, dword [ebp + 0x14]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ecx + 0x58]
push eax
call fcn.0045cb10
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi]
add eax, 3
jmp 0x43cfc8
mov eax, dword [ebp - 4]
lea esi, [edx + edx]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x4c], edx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x38]
sub eax, dword [edx + 0x4c]
mov edx, dword [ebp - 4]
mov dword [edx + esi*4 + 0x50], eax
mov eax, dword [edx + 0x38]
sub eax, dword [ecx + 0x4c]
lea ecx, [esi - 2]
mov dword [edx + ecx*4 + 0x5c], eax
cmp ecx, dword [edx + 0x54]
jb case.0x4474ca.136
mov dword [edx + 0x54], esi
mov esi, dword [ebp - 4]
mov edx, dword [esi]
cmp byte [edx], 0x7c
jne 0x4476bb
push dword [ebp - 0x38]
lea eax, [esi + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.0045cb10
mov edi, dword [ebp + 0x1c]
add esp, 0xc
mov esi, 0xfffffc1a
jmp case.0x447ea2.998
mov cl, byte [esi + 0x31]
cmp cl, 0x79
je 0x4476d7
test edi, edi
je 0x44b00a
mov eax, dword [esi + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x44b00a
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 4]
add dword [ebx], 3
jmp 0x43cfcd
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x4c]
jne case.0x447ea2.999
test byte [edi + 0x7c], 1
jne case.0x447ea2.999
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x43cfd0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x4c]
je 0x4476fe
jmp case.0x447ea2.999
test byte [edi + 0x7c], 2
jne case.0x447ea2.999
test byte [edi + 0x80], 0x10
je case.0x43cff3.23
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [edi + 0x58]
jb case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x447755
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
inc dword [edx]
jmp 0x43cfcd
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jae 0x447809
mov edx, dword [edi + 0x8c]
lea esi, [edi + 0x90]
test edx, edx
je 0x447796
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00458390
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4477c2
jmp 0x4477b8
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x4477c2
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x4477c2
cmp edx, 1
je 0x4477b8
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
jne 0x4477c2
mov eax, dword [edi + 0x54]
sub eax, dword [esi]
cmp dword [ebx + 0x38], eax
je 0x447809
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x54]
jb case.0x447ea2.999
cmp dword [edi + 0x8c], 0
jne case.0x447ea2.999
cmp dword [esi], 2
jne case.0x447ea2.999
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x447ea2.999
jmp 0x4407f0
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x447824
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
inc dword [ebx]
jmp 0x43cfcd
test byte [edi + 0x7c], 1
mov ebx, dword [ebp - 4]
je 0x447840
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x4c]
je case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
mov esi, dword [edi + 0x4c]
cmp ecx, esi
je 0x447824
cmp ecx, dword [edi + 0x54]
jne 0x44785f
test dword [edi + 0x80], 0x200000
je case.0x447ea2.999
mov edx, dword [edi + 0x8c]
test edx, edx
je 0x447898
cmp ecx, esi
jbe 0x44788d
push dword [ebp - 8]
lea eax, [edi + 0x90]
push eax
push esi
push edx
push ecx
call fcn.00458530
add esp, 0x14
test eax, eax
je 0x44788d
mov eax, 1
jmp 0x44788f
xor eax, eax
test eax, eax
jne 0x447824
jmp case.0x447ea2.999
mov edx, dword [edi + 0x90]
lea eax, [edx + esi]
cmp ecx, eax
jb case.0x447ea2.999
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne case.0x447ea2.999
cmp edx, 1
je 0x447824
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
je 0x447824
jmp case.0x447ea2.999
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jae 0x44794a
mov edx, dword [edi + 0x8c]
lea esi, [edi + 0x90]
test edx, edx
je 0x447913
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00458390
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne 0x447824
jmp 0x4477c2
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x4477c2
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x4477c2
cmp edx, 1
je 0x447824
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
je 0x447824
jmp 0x4477c2
test byte [edi + 0x7c], 2
jne case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x447824
cmp ecx, dword [edi + 0x60]
ja 0x447972
cmp dword [edi + 0x24], 0
je 0x447824
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
inc dword [ebx]
jmp 0x43cfcd
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x4c]
add eax, dword [edi + 0x34]
cmp dword [ecx + 0x38], eax
je 0x4476fe
jmp case.0x447ea2.999
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
lea eax, [esi + 1]
mov dword [ecx], eax
jmp 0x43cfd0
mov ebx, dword [ebp - 4]
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x50]
jne 0x4479d4
mov dword [ebp + 8], 0
add edi, 0x60
mov dword [ebp + 0xc], 1
jmp 0x447b7f
mov cl, byte [esi - 1]
dec esi
test edx, edx
je 0x447add
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4479f4
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x4479e8
movzx edx, cl
cmp edx, 0xc0
jb 0x447ae0
test dl, 0x20
jne 0x447a1c
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x447ae0
test dl, 0x10
jne 0x447a41
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x447ae0
test dl, 8
jne 0x447a72
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x447ae0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x447ab2
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
jmp 0x447ae0
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, eax
jmp 0x447ae0
movzx edx, cl
add edi, 0x60
cmp esi, dword [edi]
jae 0x447ae9
mov dword [edi], esi
mov al, byte [ebx + 0x31]
cmp al, 0xaa
je 0x447b1c
cmp al, 0xa9
je 0x447b1c
cmp edx, 0xff
ja 0x447b0c
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x30]
test byte [edx + eax], 0x10
jne 0x447b71
mov dword [ebp + 8], 0
mov dword [ebp + 0xc], 1
jmp 0x447b7f
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov ecx, dword [eax*4 + 0x49a078]
cmp ecx, 1
je 0x447b71
cmp ecx, 3
je 0x447b71
cmp eax, 0xc
je 0x447b71
cmp eax, 0x10
je 0x447b71
mov dword [ebp + 8], 0
mov dword [ebp + 0xc], 1
jmp 0x447b7f
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 1
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebx + 0x38]
mov ecx, dword [eax + 0x54]
cmp ebx, ecx
jb 0x447bcb
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x447bbe
cmp ebx, dword [edi]
mov edi, dword [ebp + 0x1c]
ja 0x447ba4
cmp dword [edi + 0x24], 0
je 0x447bc1
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
mov ebx, dword [ebp - 4]
xor edx, edx
jmp 0x447d4f
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 4]
xor edx, edx
jmp 0x447d4f
cmp dword [ebp - 8], 0
lea esi, [ebx + 1]
je 0x447cd0
cmp esi, ecx
jae 0x447bed
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x447bed
inc esi
cmp esi, ecx
jb 0x447be0
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x447cd3
test dl, 0x20
jne 0x447c15
movzx eax, byte [ebx + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x447cd3
test dl, 0x10
jne 0x447c3a
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x447cd3
test dl, 8
jne 0x447c6b
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x447cd3
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx edi, byte [ebx + 3]
and ecx, 0x3f
movzx ebx, byte [ebx + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x447ca5
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x447cd3
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
mov eax, dword [ebx + 0x38]
movzx eax, byte [eax + 5]
and eax, 0x3f
or edx, eax
jmp 0x447cd6
movzx edx, byte [ebx]
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
cmp esi, dword [edi + 0x64]
jbe 0x447ce1
mov dword [edi + 0x64], esi
mov al, byte [ebx + 0x31]
cmp al, 0xaa
je 0x447d01
cmp al, 0xa9
je 0x447d01
cmp edx, 0xff
ja 0x447cfd
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
jne 0x447d4a
xor edx, edx
jmp 0x447d4f
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov ecx, dword [eax*4 + 0x49a078]
cmp ecx, 1
je 0x447d4a
cmp ecx, 3
je 0x447d4a
cmp eax, 0xc
je 0x447d4a
cmp eax, 0x10
je 0x447d4a
xor edx, edx
jmp 0x447d4f
mov edx, 1
mov eax, dword [ebx]
mov cl, byte [eax]
inc eax
mov dword [ebx], eax
cmp cl, 5
je 0x447d66
cmp byte [ebx + 0x31], 0xaa
je 0x447d66
xor edx, dword [ebp + 8]
jmp 0x447d69
xor edx, dword [ebp + 0xc]
test edx, edx
je 0x43cfcd
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x64]
jbe 0x447d81
mov dword [edi + 0x64], eax
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x18], 0
je 0x44b7b0
sub ebx, dword [ebx + 0x10]
mov eax, dword [edi + 0x98]
mov dword [ebp - 4], ebx
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xe0
ja case.0x44858b.15
movzx eax, byte [eax + 0x44c3d4]
jmp dword [eax*4 + 0x44c2d8]
test esi, esi
jne case.0x447ea2.998
mov esi, dword [ebx + 4]
mov dword [ebx], esi
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add ecx, esi
mov dword [ebx + 4], ecx
mov eax, dword [ebx]
cmp byte [ecx], 0x78
movzx eax, byte [eax]
mov al, byte [eax + 0x499ef8]
je 0x44b027
movzx eax, al
add eax, esi
mov dword [ebx], eax
jmp 0x43cfcd
cmp esi, 0xfffffc1f
jne 0x447e23
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x70], ecx
jae case.0x447ea2.998
cmp byte [edx], 0x78
je 0x447e2b
cmp byte [ecx], 0x78
jmp 0x447e25
test esi, esi
jne case.0x447ea2.998
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x44b3f0
jmp case.0x447ea2.999
cmp esi, 0xfffffc19
je 0x44ab67
test esi, esi
je 0x447e68
cmp esi, 0xfffffc1f
jne case.0x447ea2.998
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x44b4dc
jmp case.0x447ea2.999
test esi, esi
jg 0x447ea9
je case.0x447ea2.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x447ea2.998
jmp dword [eax*4 + 0x44c4b8]
mov eax, esi
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x447d76
jmp case.0x447ea2.999
test esi, esi
jg 0x447edc
je case.0x447ed5.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x447ea2.998
jmp dword [eax*4 + 0x44c4d4]
mov eax, esi
sub eax, 1
jne case.0x447ea2.998
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x44718a
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x447ef4
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x499ef8]
jmp 0x44718f
test esi, esi
jne case.0x447ea2.998
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebx], edx
jmp 0x43cfcd
test esi, esi
je 0x4476dd
jmp case.0x447ea2.998
cmp esi, 0xfffffc1a
jne 0x447f7d
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x44b038
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x447f65
jmp 0x447fcd
cmp esi, 0xfffffc1f
jne 0x447fa9
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x70], ecx
jae case.0x447ea2.998
cmp byte [edx], 0x78
je 0x447fb1
cmp byte [ecx], 0x78
jmp 0x447fab
test esi, esi
jne case.0x447ea2.998
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x44b3a9
cmp dword [ebx + 0x24], 0
jne 0x448007
cmp dword [ebx + 0x28], 0
jne 0x448007
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov edx, dword [ebx + 4]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx + 4], edx
cmp byte [edx], 0x78
je 0x447ff0
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x43cfcd
test esi, esi
je 0x447824
jmp case.0x447ea2.998
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x3e5]
add ecx, edx
cmp eax, 4
ja 0x44806c
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x78], eax
jne 0x44806c
cmp esi, 0xfffffc1f
jne case.0x447ea2.999
cmp dword [edi + 0x70], ecx
jae case.0x447ea2.999
cmp byte [edx], 0x78
je 0x448074
cmp byte [ecx], 0x78
je 0x448074
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov dword [ebx + 4], ecx
cmp byte [ecx], 0x78
je 0x44b481
jmp case.0x447ea2.999
cmp esi, 0xfffffc1e
jne case.0x447ea2.998
mov eax, dword [ebx]
push dword [edi + 0x74]
add eax, 2
push eax
call fcn.00458740
add esp, 8
test eax, eax
jne case.0x447ea2.998
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x74], eax
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx + 0x48]
mov esi, 0xfffffc1c
mov dword [edi + 0x78], eax
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx]
mov esi, 0xfffffc1e
add eax, 2
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x78], eax
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
lea eax, [ebp - 0x48]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0044c8c0
add esp, 0x14
test eax, eax
je 0x44b042
jle 0x44816b
mov eax, dword [edi + 0x54]
mov dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x448195
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx + 0xc]
sub dword [ebx + 0x38], eax
jmp 0x446f43
test esi, esi
jne case.0x447ea2.998
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 4]
cmp dword [ebx + 0x38], esi
jne 0x44b067
xor esi, esi
jmp 0x447d76
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x44822f
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x44821a
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov esi, ecx
mov edx, dword [ebx + 8]
and ecx, 7
shr esi, 3
mov eax, 1
shl eax, cl
test byte [esi + edx], al
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
dec dword [ebx + 0x38]
jmp 0x43f4e3
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4482c5
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4482b0
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x4482d6
cmp dword [ebx + 0x2c], eax
jne case.0x447ea2.999
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x44b60e
dec dword [ebx + 0x38]
test esi, esi
je 0x43e35f
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x44834f
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp esi, dword [edi + 0x60]
ja 0x44833a
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1b
jmp 0x44b60e
dec dword [ebx + 0x38]
test esi, esi
je 0x43e481
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4483d3
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4483be
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je case.0x447ea2.999
cmp dword [ebx + 0x2c], eax
je case.0x447ea2.999
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1e
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x448476
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp esi, dword [edi + 0x60]
ja 0x448461
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
dec dword [ebx + 0x38]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x43cfd0
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x20
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp ecx, eax
jb 0x448514
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4484ff
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebx + 0x28], 0xc
jne 0x448570
mov edx, dword [edi + 0x8c]
lea esi, [edi + 0x90]
test edx, edx
je 0x448546
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00458390
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x448570
jmp case.0x447ea2.999
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x448570
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x448570
cmp edx, 1
je case.0x447ea2.999
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
je case.0x447ea2.999
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax]
lea esi, [eax + 1]
mov dword [ebx + 0x38], esi
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x44858b.15
jmp dword [eax*4 + 0x44c4f0]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x447ea2.999
movzx eax, byte [ecx + 0x44c540]
jmp dword [eax*4 + 0x44c530]
cmp word [edi + 0x3e], 2
jne case.0x44858b.13
jmp case.0x447ea2.999
cmp ecx, 9
je case.0x447ea2.999
cmp ecx, 0x20
je case.0x447ea2.999
cmp ecx, 0xa0
jne case.0x44858b.13
jmp case.0x447ea2.999
cmp ecx, 9
je case.0x44858b.13
cmp ecx, 0x20
je case.0x44858b.13
cmp ecx, 0xa0
je case.0x44858b.13
jmp case.0x447ea2.999
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x44858b.13
movzx eax, byte [ecx + 0x44c5c4]
jmp dword [eax*4 + 0x44c5bc]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x447ea2.999
movzx eax, byte [ecx + 0x44c648]
jmp dword [eax*4 + 0x44c640]
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
je 0x44b105
xor esi, esi
jmp 0x447d76
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
mov eax, dword [ebp - 4]
jne 0x44b105
xor esi, esi
jmp 0x447d76
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
je 0x44b105
xor esi, esi
jmp 0x447d76
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
mov eax, dword [ebp - 4]
jne 0x44b105
xor esi, esi
jmp 0x447d76
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
je 0x44b105
xor esi, esi
jmp 0x447d76
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 4]
jne 0x44b105
xor esi, esi
jmp 0x447d76
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0x11
jne 0x4486ec
cmp eax, dword [ebx + 4]
jbe 0x4486ec
cmp byte [eax], 0xa
jne 0x4486ec
mov ecx, dword [ebx + 0x38]
dec eax
cmp byte [eax], 0xd
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x22
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov eax, dword [ebx + 0x48]
mov esi, 0xfffffc1b
mov dword [edi + 0x78], eax
jmp case.0x447ea2.998
test esi, esi
jne case.0x447ea2.998
mov edx, dword [ebx + 0x24]
lea eax, [edx - 1]
mov dword [ebx + 0x24], eax
cmp edx, dword [ebx + 0x20]
jbe case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x448761
cmp ecx, dword [edi + 0x54]
jae 0x448761
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x448761
inc ecx
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x54]
jb 0x448750
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
add ebx, 5
mov byte [eax + 0x30], 0x25
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4487c6
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4487b1
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4488d1
cmp edx, 0xc0
jb 0x4488d1
lea esi, [ecx + 1]
test dl, 0x20
jne 0x448801
movzx eax, byte [ecx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4488d1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x44882a
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4488ce
lea ebx, [ecx + 3]
test dl, 8
jne 0x448863
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4488ce
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x4488a2
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4488c8
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
push dword [ebp - 8]
push dword [ebx + 8]
push edx
call fcn.0045b010
add esp, 0xc
test eax, eax
jne 0x44b113
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x447ea2.999
cmp dword [ebp - 8], esi
je 0x43f8ab
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x43f8ab
nop dword [eax]
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x448920
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44898e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x448979
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ebx, byte [ecx]
inc ecx
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], ecx
cmp ebx, 0xc0
jb 0x448a8f
lea edx, [ecx + 1]
test bl, 0x20
jne 0x4489c2
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [edi + 0x38], edx
jmp 0x448a8f
lea esi, [ecx + 2]
test bl, 0x10
jne 0x4489eb
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [edi + 0x38], esi
shl ebx, 6
or ebx, eax
jmp 0x448a8f
lea edi, [ecx + 3]
test bl, 8
jne 0x448a24
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, eax
jmp 0x448a8f
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x448a63
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp + 8]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x448a89
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
cmp ebx, 0xff
jbe 0x448aa9
cmp byte [edi + 0x31], 0x6e
jne 0x44b121
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
mov edx, dword [edi + 8]
mov esi, ebx
and ebx, 7
shr esi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [esi + edx], al
jne 0x44b121
mov edi, dword [ebp + 0x1c]
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x447ea2.999
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x43f453
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x448af4
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x38]
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x448baa
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x448b61
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x448b6a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x448b50
cmp esi, 0xfffffffc
je 0x44b12c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x448ba7
cmp esi, 0xfffffffd
je 0x44b12c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x448ba7
cmp esi, 0xfffffffe
je 0x44b12c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x448ba7
cmp esi, 0xffffffff
je 0x44b12c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44b12c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov edi, dword [edx + 0x14]
test edi, edi
je 0x448c1f
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x448c1f
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x448bd9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x448be2
add ecx, 4
add edx, 4
sub esi, 4
jae 0x448bc8
cmp esi, 0xfffffffc
je 0x44b12c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x448c1f
cmp esi, 0xfffffffd
je 0x44b12c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x448c1f
cmp esi, 0xfffffffe
je 0x44b12c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x448c1f
cmp esi, 0xffffffff
je 0x44b12c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44b12c
mov edi, dword [ebp + 0x1c]
cmp ebx, dword [edi + 0x54]
jb case.0x447ea2.999
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp ebx, dword [edi + 0x60]
ja 0x448c49
cmp dword [edi + 0x24], 0
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x448c81
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x448c75
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcb
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x448cef
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x448cda
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x448df0
lea esi, [ecx + 1]
test dl, 0x20
jne 0x448d20
movzx eax, byte [ecx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x448df0
lea edi, [ecx + 2]
test dl, 0x10
jne 0x448d49
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x448ded
lea ebx, [ecx + 3]
test dl, 8
jne 0x448d82
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x448ded
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x448dc1
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x448de7
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp dword [ebx + 0x28], edx
je case.0x447ea2.999
cmp dword [ebx + 0x2c], edx
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x448e33
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x448e27
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcd
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x448ea1
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x448e8c
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [edx]
inc edx
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x448fa2
lea esi, [edx + 1]
test cl, 0x20
jne 0x448ed2
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x448fa2
lea edi, [edx + 2]
test cl, 0x10
jne 0x448efb
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x448f9f
lea ebx, [edx + 3]
test cl, 8
jne 0x448f34
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x448f9f
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x448f73
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x448f99
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp dword [ebx + 0x28], ecx
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x448fdc
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x448fd0
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcf
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44904a
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x449035
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [ebx + 0x38], edx
je 0x449088
cmp eax, 0xc0
jb 0x449088
test al, 0x20
jne 0x449069
lea eax, [edx + 1]
jmp 0x449085
test al, 0x10
jne 0x449072
lea eax, [ecx + 3]
jmp 0x449085
test al, 8
jne 0x44907b
lea eax, [ecx + 4]
jmp 0x449085
test al, 4
lea eax, [ecx + 5]
je 0x449085
lea eax, [ecx + 6]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd0
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4490f4
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4490df
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x449201
cmp edx, 0xc0
jb 0x449201
lea esi, [eax + 1]
test dl, 0x20
jne 0x449131
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x449201
lea edi, [eax + 2]
test dl, 0x10
jne 0x44915a
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], edi
jmp 0x4491fe
lea ebx, [eax + 3]
test dl, 8
jne 0x449193
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4491fe
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4491d2
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4491f8
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x49c5c9]
cmp al, 9
je 0x44923a
cmp al, 5
je 0x44923a
cmp al, 8
je 0x44923a
xor ecx, ecx
jmp 0x44923f
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd1
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4492b2
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44929d
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x4493bf
cmp edx, 0xc0
jb 0x4493bf
lea esi, [eax + 1]
test dl, 0x20
jne 0x4492ef
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4493bf
lea edi, [eax + 2]
test dl, 0x10
jne 0x449318
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x4493bc
lea ebx, [eax + 3]
test dl, 8
jne 0x449351
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4493bc
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x449390
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4493b6
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd2
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44946b
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x449456
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x449578
cmp edx, 0xc0
jb 0x449578
lea esi, [eax + 1]
test dl, 0x20
jne 0x4494a8
movzx eax, byte [eax]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x449578
lea edi, [eax + 2]
test dl, 0x10
jne 0x4494d1
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x449575
lea ebx, [eax + 3]
test dl, 8
jne 0x44950a
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x449575
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x449549
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44956f
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd3
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44961d
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x449608
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x44972a
cmp edx, 0xc0
jb 0x44972a
lea esi, [eax + 1]
test dl, 0x20
jne 0x44965a
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x44972a
lea edi, [eax + 2]
test dl, 0x10
jne 0x449683
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x449727
lea ebx, [eax + 3]
test dl, 8
jne 0x4496bc
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x449727
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4496fb
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x449721
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c8]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd4
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4497cf
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x4497ba
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x4498dc
cmp edx, 0xc0
jb 0x4498dc
lea esi, [eax + 1]
test dl, 0x20
jne 0x44980c
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x4498dc
lea edi, [eax + 2]
test dl, 0x10
jne 0x449835
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], edi
jmp 0x4498d9
lea ebx, [eax + 3]
test dl, 8
jne 0x44986e
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x4498d9
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x4498ad
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x4498d3
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov eax, dword [eax*4 + 0x49a078]
cmp eax, 1
je 0x44991b
cmp eax, 3
je 0x44991b
xor ecx, ecx
jmp 0x449920
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd5
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x449993
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44997e
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x449a9e
cmp edx, 0xc0
jb 0x449a9e
lea esi, [ecx + 1]
test dl, 0x20
jne 0x4499ce
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x449a9e
lea edi, [ecx + 2]
test dl, 0x10
jne 0x4499f7
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x449a9b
lea ebx, [ecx + 3]
test dl, 8
jne 0x449a30
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x449a9b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x449a6f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x449a95
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp edx, 0x20
ja 0x449ab8
je case.0x449b68.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x449b68.8203
jmp dword [eax*4 + 0x44c6c4]
cmp edx, 0x2000
ja 0x449b4c
je case.0x449b68.8193
cmp edx, 0x1680
ja 0x449b44
je case.0x449b68.8193
mov eax, edx
sub eax, 0x85
je case.0x449b68.8193
sub eax, 0x1b
je case.0x449b68.8193
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
cmp dword [eax*4 + 0x49a078], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd6
jmp 0x44b60e
cmp edx, 0x180e
jmp 0x449ae8
cmp edx, 0x3000
ja case.0x449b68.8203
je case.0x449b68.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x449b68.8203
movzx eax, byte [eax + 0x44c6e0]
jmp dword [eax*4 + 0x44c6d8]
cmp dword [ebx + 0x28], 0xf
jne 0x449b36
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x449bce
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x449bb9
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x449cdb
cmp edx, 0xc0
jb 0x449cdb
lea esi, [eax + 1]
test dl, 0x20
jne 0x449c0b
movzx eax, byte [eax]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x449cdb
lea edi, [eax + 2]
test dl, 0x10
jne 0x449c34
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x449cd8
lea ebx, [eax + 3]
test dl, 8
jne 0x449c6d
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x449cd8
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x449cac
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x449cd2
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5c9]
mov ecx, dword [eax*4 + 0x49a078]
cmp ecx, 1
je 0x449d24
cmp ecx, 3
je 0x449d24
cmp eax, 0xc
je 0x449d24
cmp eax, 0x10
je 0x449d24
xor ecx, ecx
jmp 0x449d29
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd7
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x449d9c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x449d87
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x449ea7
cmp edx, 0xc0
jb 0x449ea7
lea esi, [ecx + 1]
test dl, 0x20
jne 0x449dd7
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x449ea7
lea edi, [ecx + 2]
test dl, 0x10
jne 0x449e00
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x449ea4
lea ebx, [ecx + 3]
test dl, 8
jne 0x449e39
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x449ea4
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x449e78
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x449e9e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax*4 + 0x49bff8]
lea eax, [eax*4 + 0x49bff8]
cmp edx, ecx
jb 0x449ecd
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x449ee5
mov ecx, dword [eax]
cmp edx, ecx
jae 0x449ec0
cmp dword [ebx + 0x28], 0xf
jne case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd8
jmp 0x44b60e
cmp dword [ebx + 0x28], 0xf
jne 0x449ed7
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x449f44
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x447ea2.999
cmp edx, dword [edi + 0x60]
ja 0x449f2f
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x43ed43
jmp case.0x447ea2.999
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x44a04f
cmp ecx, 0xc0
jb 0x44a04f
lea esi, [edx + 1]
test cl, 0x20
jne 0x449f7f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x44a04f
lea edi, [edx + 2]
test cl, 0x10
jne 0x449fa8
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x44a04c
lea ebx, [edx + 3]
test cl, 8
jne 0x449fe1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x44a04c
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x44a020
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x44a046
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x1c]
cmp ecx, 0x24
je 0x44a07a
cmp ecx, 0x40
je 0x44a07a
cmp ecx, 0x60
je 0x44a07a
cmp ecx, 0xa0
jb 0x44a06e
cmp ecx, 0xd7ff
jbe 0x44a07a
cmp ecx, 0xe000
jae 0x44a07a
xor ecx, ecx
jmp 0x44a07f
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xd9
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44b142
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44a0e1
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x54]
cmp ecx, eax
jb 0x44a14c
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44a137
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebx + 0x28], 0xc
jne 0x44a1a8
mov edx, dword [edi + 0x8c]
lea esi, [edi + 0x90]
test edx, edx
je 0x44a17e
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00458390
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x44a1a8
jmp case.0x447ea2.999
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x44a1a8
mov al, byte [ecx]
cmp al, byte [edi + 0x94]
jne 0x44a1a8
cmp edx, 1
je case.0x447ea2.999
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x95]
je case.0x447ea2.999
mov eax, dword [ebx + 0x38]
movzx edx, byte [eax]
lea ecx, [eax + 1]
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x44a2be
lea esi, [ecx + 1]
test dl, 0x20
jne 0x44a1e0
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
mov ecx, esi
jmp 0x44a2be
lea edi, [ecx + 2]
test dl, 0x10
jne 0x44a20b
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
mov ecx, edi
or edx, eax
jmp 0x44a2bb
lea ebx, [ecx + 3]
test dl, 8
jne 0x44a246
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x44a2bb
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x44a28d
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
mov ecx, eax
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
jmp 0x44a2bb
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
movzx eax, byte [eax]
or edx, edi
shl edx, 6
and eax, 0x3f
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, eax
add ecx, 5
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x44858b.15
jmp dword [eax*4 + 0x44c740]
cmp edx, 0x85
ja 0x44a2f1
je case.0x44a2ea.11
add edx, 0xfffffff6
cmp edx, 3
ja case.0x447ea2.999
jmp dword [edx*4 + 0x44c780]
sub edx, 0x2028
je case.0x44a2ea.11
sub edx, 1
jne case.0x447ea2.999
cmp word [edi + 0x3e], 2
jne case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x2000
ja 0x44a362
je case.0x447ea2.999
cmp edx, 0xa0
ja 0x44a345
je case.0x447ea2.999
cmp edx, 9
je case.0x447ea2.999
cmp edx, 0x20
jne case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x1680
je case.0x447ea2.999
cmp edx, 0x180e
jne case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x3000
ja case.0x44a2cd.13
je case.0x447ea2.999
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x44a2cd.13
movzx eax, byte [edx + 0x44c798]
jmp dword [eax*4 + 0x44c790]
cmp edx, 0x2000
ja 0x44a3e1
je case.0x44a2cd.13
cmp edx, 0xa0
ja 0x44a3c4
je case.0x44a2cd.13
cmp edx, 9
je case.0x44a2cd.13
cmp edx, 0x20
je case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x1680
je case.0x44a2cd.13
cmp edx, 0x180e
je case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x3000
ja case.0x447ea2.999
je case.0x44a2cd.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x447ea2.999
movzx eax, byte [edx + 0x44c800]
jmp dword [eax*4 + 0x44c7f8]
cmp edx, 0x85
ja 0x44a431
je case.0x447ea2.999
add edx, 0xfffffff6
cmp edx, 3
ja case.0x44a2cd.13
jmp dword [edx*4 + 0x44c860]
sub edx, 0x2028
je case.0x447ea2.999
sub edx, 1
jne case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x85
ja 0x44a46c
je case.0x44a2cd.13
add edx, 0xfffffff6
cmp edx, 3
ja case.0x447ea2.999
jmp dword [edx*4 + 0x44c870]
sub edx, 0x2028
je case.0x44a2cd.13
sub edx, 1
je case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x100
jae case.0x44a2cd.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
je case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x100
jae case.0x447ea2.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 8
jne case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x100
jae case.0x44a2cd.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
je case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x100
jae case.0x447ea2.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 1
jne case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x100
jae case.0x44a2cd.13
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
je case.0x44a2cd.13
jmp case.0x447ea2.999
cmp edx, 0x100
jae case.0x447ea2.999
mov eax, dword [edi + 0x30]
test byte [edx + eax], 0x10
jne case.0x44a2cd.13
jmp case.0x447ea2.999
test esi, esi
jne case.0x447ea2.998
mov esi, dword [ebx + 0x38]
mov edi, dword [ebp - 8]
dec esi
mov dword [ebx + 0x38], esi
test edi, edi
jne 0x44ac67
movzx edx, byte [esi]
jmp 0x44ad5a
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44a57f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44a573
cmp dword [ebx + 0x28], 0x11
jne 0x44a59f
cmp ecx, dword [ebx + 4]
jbe 0x44a59f
cmp byte [ecx], 0xa
jne 0x44a59f
cmp byte [ecx - 1], 0xd
lea eax, [ecx - 1]
mov ecx, dword [ebx + 0x38]
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x43cfcd
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdd
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebp - 8]
dec ecx
mov dword [ebx + 0x38], ecx
test edx, edx
je 0x44a5e3
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44a5e3
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44a5d7
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x43cfd0
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xde
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44a651
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44a63c
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x44a75e
cmp edx, 0xc0
jb 0x44a75e
lea esi, [eax + 1]
test dl, 0x20
jne 0x44a68e
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x44a75e
lea edi, [eax + 2]
test dl, 0x10
jne 0x44a6b7
movzx eax, byte [eax]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], edi
jmp 0x44a75b
lea ebx, [eax + 3]
test dl, 8
jne 0x44a6f0
movzx eax, byte [eax]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x44a75b
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x44a72f
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44a755
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
mov ecx, dword [ebx + 0x2c]
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x49c5d2]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x49ba70]
and ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xdf
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44a824
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44a80f
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x44a931
cmp edx, 0xc0
jb 0x44a931
lea esi, [eax + 1]
test dl, 0x20
jne 0x44a861
movzx eax, byte [eax]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x44a931
lea edi, [eax + 2]
test dl, 0x10
jne 0x44a88a
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x44a92e
lea ebx, [eax + 3]
test dl, 8
jne 0x44a8c3
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x44a92e
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x44a902
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44a928
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x49c5d0]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xe0
jmp 0x44b60e
test esi, esi
jne case.0x447ea2.998
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jae case.0x447ea2.999
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x44a9d9
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x447ea2.999
cmp ecx, dword [edi + 0x60]
ja 0x44a9c4
cmp dword [edi + 0x24], esi
je case.0x447ea2.999
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
jmp case.0x447ea2.999
cmp dword [ebp - 8], 0
lea eax, [ecx + 1]
movzx edx, byte [ecx]
mov dword [ebx + 0x38], eax
je 0x44aae6
cmp edx, 0xc0
jb 0x44aae6
lea esi, [eax + 1]
test dl, 0x20
jne 0x44aa16
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x44aae6
lea edi, [eax + 2]
test dl, 0x10
jne 0x44aa3f
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x44aae3
lea ebx, [eax + 3]
test dl, 8
jne 0x44aa78
movzx ecx, byte [eax]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x44aae3
movzx esi, byte [esi]
lea ecx, [eax + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], ecx
and ebx, 0x3f
movzx ecx, byte [eax]
and ecx, 0x3f
test dl, 4
jne 0x44aab7
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44aadd
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
shl edx, 6
and ecx, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
lea ecx, [eax + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x1c]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
mov ecx, dword [ebx + 0x2c]
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x49c5c8]
cmp eax, ecx
je 0x44ab43
movzx edx, word [edx*4 + 0x49c5d0]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49c2d0], eax
jne 0x44ab43
xor ecx, ecx
jmp 0x44ab48
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x447ea2.999
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xe1
jmp 0x44b60e
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x54]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ebx + 0x58]
push eax
call fcn.0045cb10
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x44ab90
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x43cfcd
mov esi, dword [ebx]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x44abb2
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x43cfcd
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x44b506
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x43cfcd
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x54]
shl eax, 2
push eax
lea eax, [esi + 0x58]
push eax
lea eax, [ebx + 0x58]
push eax
call fcn.0045cb10
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [ebx + 0x54], eax
jmp 0x447ee7
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [ebx + 4], eax
cmp byte [eax], 0x78
je 0x44afe1
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
jmp 0x447eea
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x499ef8]
jmp 0x44718f
mov ebx, dword [ebp - 4]
jmp 0x44718a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44ac7c
nop
dec esi
mov dword [ebx + 0x38], esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44ac70
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ad5a
test dl, 0x20
jne 0x44aca4
movzx eax, byte [esi + 1]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44ad5a
test dl, 0x10
jne 0x44acc9
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x44ad5a
test dl, 8
jne 0x44acf7
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44ad5a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x44ad31
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44ad54
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov eax, edx
mov ebx, dword [ebx + 4]
cdq
mov ecx, 0x80
idiv ecx
mov dword [ebp + 8], ebx
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x49c5ca]
mov dword [ebp + 0xc], eax
cmp esi, ebx
jbe 0x44aee8
mov cl, byte [esi - 1]
dec esi
test edi, edi
jne 0x44ada5
movzx edx, cl
jmp 0x44ae9a
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x44adbc
nop dword [eax]
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x44adb0
movzx edx, cl
cmp edx, 0xc0
jb 0x44ae9a
test dl, 0x20
jne 0x44ade4
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x44ae9a
test dl, 0x10
jne 0x44ae09
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x44ae9a
test dl, 8
jne 0x44ae37
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44ae9a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x44ae71
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x44ae94
and edx, 1
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and ecx, 0x3f
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, ecx
mov edi, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov eax, edx
mov ecx, 0x80
cdq
idiv ecx
mov ecx, dword [ebp + 0xc]
movzx eax, word [eax*2 + 0x4a0880]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a4c80]
lea eax, [eax + eax*2]
movzx edx, byte [eax*4 + 0x49c5ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49a038], eax
je 0x44aee8
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], edx
mov dword [eax + 0x38], esi
cmp esi, ebx
ja 0x44ad95
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ecx + 4]
jbe 0x43cfca
mov ebx, dword [ecx]
mov byte [ecx + 0x30], 0xdc
jmp 0x44b60e
inc dword [edi + 0x84]
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x88]
ja 0x44b2f2
mov ebx, dword [ebp - 4]
mov edx, dword [ebx]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x499ef8]
add eax, edx
add ecx, eax
mov dword [ebx], ecx
jmp 0x43cfcd
cmp dword [ebp - 8], 0
jne 0x448e05
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x44b60e
cmp dword [ebp - 8], 0
jne 0x448fae
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x44b60e
cmp dword [ebp - 8], 0
jne 0x44b121
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x44b60e
test ecx, ecx
js 0x44af91
cmp ecx, 0xd
ja case.0x44858b.15
jmp dword [ecx*4 + 0x44c880]
cmp dword [eax + 0x28], 0x16
je 0x44b27e
test esi, esi
jne 0x44b2e7
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x44b60e
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x44b60e
xor ecx, ecx
jmp 0x44b3ea
cmp cl, 0x7f
je 0x44afd6
cmp cl, 0x81
je 0x44afd6
xor eax, eax
jmp 0x44afdb
mov eax, 1
mov dword [ebx + 0x20], eax
mov dword [ebx + 4], edi
mov eax, dword [ebx]
movzx ecx, byte [eax]
or ecx, 0x30000
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebx + 4]
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, ecx
mov byte [eax + 0x30], 5
jmp 0x44b60e
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x44b01e
lea ebx, [edx + 3]
mov byte [esi + 0x30], 6
jmp 0x44b611
mov byte [esi + 0x30], 7
jmp 0x44b611
movzx ebx, al
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 1
jmp 0x44b60e
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x44b3a9
mov eax, dword [ebp - 0x48]
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x14
jmp 0x44b60e
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x14
jmp 0x44b60e
mov dword [ebx + 0x38], esi
mov ebx, dword [ebx + 0x24]
dec ebx
mov dword [eax + 0x24], ebx
mov edi, dword [eax + 0x20]
cmp edi, ebx
jae 0x44b09c
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp + 0x1c]
push eax
push dword [eax + 0x28]
push dword [eax + 0x14]
call fcn.0044c8c0
mov eax, dword [ebp - 4]
inc edi
add esi, dword [ebp - 0x4c]
add esp, 0x14
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x44b078
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x44b60e
cmp esi, dword [edi + 0x54]
jae case.0x44858b.13
cmp byte [esi], 0xa
jne case.0x44858b.13
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x44b60e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x44858b.13
cmp esi, dword [edi + 0x54]
jb case.0x44858b.13
cmp dword [edi + 0x8c], 0
jne case.0x44858b.13
cmp dword [edi + 0x90], 2
jne case.0x44858b.13
movzx eax, byte [edi + 0x94]
cmp ecx, eax
jne case.0x44858b.13
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x44b60e
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x64
jmp 0x44b60e
mov ebx, dword [edi]
mov byte [edi + 0x30], 0xc8
jmp 0x44b60e
mov ecx, dword [ebp - 4]
lea eax, [edi + ebx]
mov dword [ecx + 0x38], eax
mov eax, ecx
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x44b611
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x44b238
cmp edx, 0xc0
jb 0x44b238
lea esi, [ecx + 1]
test dl, 0x20
jne 0x44b174
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x44b22d
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x44b194
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x44b22a
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x44b1bf
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x44b227
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x44b209
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, esi
mov esi, eax
mov dword [ebx + 0x38], eax
jmp 0x44b238
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
and eax, 0x3f
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.0045a6f0
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x44b27b
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x44b27b
cmp eax, dword [edi + 0x60]
ja 0x44b26b
cmp dword [edi + 0x24], 0
je 0x44b27b
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x43ed43
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xda
jmp 0x44b60e
cmp ecx, dword [edi + 0x54]
jae case.0x44a2cd.13
cmp byte [ecx], 0xa
jne case.0x44a2cd.13
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x44b60e
movzx eax, word [edi + 0x3c]
mov esi, eax
test ax, ax
je case.0x44a2cd.13
cmp ecx, dword [edi + 0x54]
jb case.0x44a2cd.13
cmp dword [edi + 0x8c], 0
jne case.0x44a2cd.13
cmp dword [edi + 0x90], 2
jne case.0x44a2cd.13
movzx eax, byte [edi + 0x94]
cmp edx, eax
jne case.0x44a2cd.13
mov dword [edi + 0x1c], 1
cmp esi, 1
ja 0x43ed43
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x44b60e
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x499ef8]
mov byte [edx + 0x30], 0x11
jmp 0x44b60a
mov eax, dword [ebp - 4]
lea ebx, [esi + 1]
mov dword [eax + 4], ebx
mov byte [eax + 0x30], 9
jmp 0x44b60e
mov edx, dword [ebp - 4]
inc esi
mov dword [edx + 4], esi
nop word [eax + eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
add eax, esi
mov esi, eax
mov dword [edx + 4], eax
cmp byte [esi], 0x78
je 0x44b330
lea ebx, [eax + 3]
mov byte [edx + 0x30], 0xa
jmp 0x44b60e
mov ebx, dword [ebp - 4]
inc esi
mov dword [ebx + 0x28], 1
mov dword [ebx], esi
mov al, byte [esi]
cmp al, 0x8a
je 0x44b389
cmp al, 0x8f
jne 0x44b378
jmp 0x44b389
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov ecx, 0x20000
jmp 0x44b39c
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], 0
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, ecx
mov byte [eax + 0x30], 8
jmp 0x44b60e
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
jmp 0x44b3ea
or ecx, 0x20000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], ecx
movzx eax, byte [esi]
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x18], ecx
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 2
jmp 0x44b60e
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
add ebx, dword [edi + 0x48]
cmp ebx, dword [edi + 0x48]
jne 0x44b427
xor edi, edi
jmp 0x44b434
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edi, 8
or edi, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
je 0x44b467
mov eax, dword [eax + 0x50]
cmp eax, 0xffffffff
je 0x44b467
mov ecx, dword [ebp + 0x18]
mov edx, edi
or edx, 0x40000
mov esi, dword [ecx + 0x18]
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x14]
cmp dword [eax + 0x1c], edx
je 0x44b4a2
mov eax, dword [ecx + 0x50]
cmp eax, 0xffffffff
jne 0x44b453
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
or edi, 0x40000
mov eax, dword [eax + 0x64]
mov dword [ecx + 0x44], eax
mov dword [ecx + 4], ebx
mov ebx, ecx
mov dword [ebx + 0x20], edi
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebx + 4]
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, ecx
mov byte [eax + 0x30], 0xb
jmp 0x44b60e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x38]
jne 0x44b467
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x64]
cmp eax, dword [ecx + 0x44]
mov eax, dword [ebp + 0x1c]
jne 0x44b46a
test dword [eax + 0x7c], 0x40000
jne 0x44b46a
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 4]
or ecx, 0x20000
mov dword [ebx + 0x20], ecx
movzx eax, byte [esi]
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x18], ecx
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 3
jmp 0x44b60e
mov ebx, dword [ebp - 4]
or ecx, 0x20000
mov dword [ebx + 0x20], ecx
movzx eax, byte [esi]
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x18], ecx
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 4
jmp 0x44b60e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x499ef8]
mov byte [edx + 0x30], 0xc
jmp 0x44b60a
movzx eax, byte [esi]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 0xd
jmp 0x44b60e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x499ef8]
mov byte [edx + 0x30], 0x24
jmp 0x44b60a
movzx eax, byte [esi]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 0xe
jmp 0x44b60e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x499ef8]
mov byte [edx + 0x30], 0xf
jmp 0x44b60a
movzx eax, byte [esi]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 0x10
jmp 0x44b60e
movzx eax, byte [esi]
movzx ebx, byte [eax + 0x499ef8]
mov eax, dword [ebp - 4]
add ebx, esi
mov byte [eax + 0x30], 0x12
jmp 0x44b60e
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [edi + 0x6c], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x499ef8]
mov byte [edx + 0x30], 0x13
add eax, ecx
add ebx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x14]
lea edi, [eax + ecx]
lea eax, [edi + ecx]
mov dword [ebp - 0x10], edi
cmp eax, dword [ebp - 0x34]
jb 0x44b6e7
mov eax, dword [ebp + 0x18]
sub edi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x10], edi
cmp edx, 0x7fffffff
jb 0x44b64a
cmp edx, 0xfffffffe
je 0x44b7b9
mov esi, 0xfffffffe
jmp 0x44b64d
lea esi, [edx + edx]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0xc]
mov eax, esi
shr eax, 0xa
cmp eax, ecx
jb 0x44b682
mov eax, edx
shr eax, 0xa
cmp ecx, eax
jbe 0x44b7c5
sub ecx, eax
mov eax, edx
shl ecx, 0xa
and eax, 0x3ff
je 0x44b67f
add ecx, 0xfffffc00
add ecx, eax
lea esi, [edx + ecx]
mov eax, esi
sub eax, edi
cmp eax, dword [ebp + 0x14]
jb 0x44b7c5
mov eax, dword [ebp + 0x18]
push dword [eax + 8]
mov eax, dword [eax]
push esi
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x44b7b9
mov eax, dword [ebp + 0x18]
push dword [ebp - 0x10]
push dword [eax + 0x18]
push edi
call fcn.0045cb10
mov eax, dword [ebp - 0x10]
add eax, edi
mov dword [ebp - 0x10], eax
sub eax, dword [ebp + 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push dword [eax + 8]
push dword [eax + 0x18]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp + 0x18]
add esp, 0x14
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], esi
lea eax, [edi + esi]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 4]
push dword [ebp - 0x38]
lea eax, [esi + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.0045cb10
mov eax, dword [esi + 0x18]
add esp, 0xc
mov edx, dword [ebp + 0x18]
inc eax
mov esi, dword [ebp + 0x14]
mov dword [edi + 0x18], eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x18]
jmp 0x43cf62
mov eax, edi
mov ebx, dword [ebp - 4]
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [ebx + 0x40]
mov dword [ecx + 0x68], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x64]
jbe 0x44b739
mov dword [ecx + 0x64], eax
mov edi, dword [ebp + 0x18]
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x4c]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x4c]
mov dword [edi + 0x3c], eax
movzx esi, word [edi + 0x32]
movzx eax, word [ebp + 0x10]
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebx + 0x58]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.0045cb10
mov eax, dword [ebx + 0x54]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x44b7a4
lea edx, [edi + 0x38]
lea edx, [edx + esi*4]
nop word [eax + eax]
mov dword [edx], 0xffffffff
lea edx, [edx - 4]
mov ecx, dword [ebx + 0x54]
dec esi
add ecx, 2
cmp esi, ecx
jae 0x44b790
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret