Function at 0x44d5f0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x44d67e
mov esi, dword [esi]
test esi, esi
je 0x45b321
mov edi, 0xfffffff8
jmp 0x456f29
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x44d69a
mov esi, dword [esi]
test esi, esi
je 0x45b32e
mov edi, 0xffffffeb
jmp 0x456f29
cmp dword [ebp + 0x98], 2
jne 0x44d6d1
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x44d6d1
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x44d704.98
movzx eax, byte [edx + 0x45b53c]
jmp dword [eax*4 + 0x45b3f0]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x45ab85
push 0x134
call dword [0xb26eac]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45ab7f
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 4]
test edx, edx
jne 0x45abd5
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45abcf
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 4]
test edx, edx
jne 0x45abf3
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45abed
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x45ac11
push 0x134
call dword [0xb26eac]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45ac0b
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 4]
test edx, edx
jne 0x45ac26
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45ac20
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x44d85e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x52bfc0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x44d6d1
mov edi, dword [esi + 4]
test edi, edi
jne 0x45ac44
push 0x134
call dword [0xb26eac]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45ac3e
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 4]
test edx, edx
jne 0x45ac59
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45ac53
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x45ac77
push 0x134
call dword [0xb26eac]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45ac71
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x458468
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x44d704.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x456fcb
mov dword [esi + 0x54], ebx
jmp 0x44e16f
mov dword [esi + 0x54], ebx
jmp 0x44e193
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x44dad8
mov edi, dword [0xb2d2e4]
test edi, edi
je 0x44dac4
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x44da7e
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x44dab3
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
jns 0x44dac4
mov esi, dword [esi]
test esi, esi
je 0x45740c
jmp 0x456f29
movzx eax, byte [0x52c036]
add dword [esi + 0xc], eax
movzx eax, byte [0x52c036]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x44dafe.146
movzx eax, byte [eax + 0x45b5f8]
jmp dword [eax*4 + 0x45b5e0]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x44dafe.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x44db37
cmp edx, dword [edi + 4]
je 0x44db37
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x457263
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x457263
cmp dword [ebp + 0xa4], ebx
je case.0x44dafe.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x44dafe.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x457263
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x44db80
jmp 0x457263
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x44dbe4
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x44dbe4
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x44dafe.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x44dafe.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x457263
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x44dc39
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x44dc48
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x44dc17
jmp 0x457263
mov dword [esi + 0x58], 1
jmp 0x457263
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45ac8c
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ac86
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x44dce4
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44d6c6
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x44d6c6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44dd33
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x44d6c6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x44dd86
cmp edx, 0x9f
je 0x44dd86
cmp dword [ebp + 0xa4], ebx
jne 0x44dd86
cmp dword [ebp + 0x5c], ebx
jne 0x44dd75
cmp dword [ebp + 0x60], ebx
je 0x44dd86
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x44dd86
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x45740c
jmp 0x456f29
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44dddf
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45735d
mov dword [esi + 0x58], ebx
jmp 0x45735d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44de0b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4574ab
mov dword [esi + 0x58], ebx
jmp 0x4574ab
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x44de72
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x44de58
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x454656.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44de54
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44de48
test edx, edx
jg 0x44de30
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x44d6c6
mov dword [ebp + 0x84], eax
jmp 0x44d6c6
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x44de58
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f30
mov edi, dword [0xb2d2e4]
test edi, edi
je 0x44df7c
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x44df36
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x44df6b
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
jns 0x44df7c
mov esi, dword [esi]
test esi, esi
je 0x45740c
jmp 0x456f29
add dword [esi + 0xc], 6
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x44dfa6
xor edx, edx
jmp 0x44dfb3
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x44dfd3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x44dfcd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x44e034
mov ecx, dword [ecx]
test ecx, ecx
jne 0x44dfc0
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x44e048
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x457594
mov esi, dword [esi]
test esi, esi
je 0x45b352
mov edi, 0xffffffe6
jmp 0x456f29
shl eax, 2
push eax
call dword [0xb26ea4]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x44e00e
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x44e071
jmp 0x44d6d1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45acc7
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45acc1
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x44e0d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45ace5
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45acdf
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x44e123
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44d6d1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x44e16f
cmp eax, 0x8b
jne 0x44e193
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x44e1b0
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x45807d
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x44e22d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45b077
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45b06d
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x44e288
cmp al, 0x81
je 0x44e288
mov dword [esi + 0x38], ebx
jmp 0x44e299
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x44e2a6
cmp al, 0x80
jbe 0x44e2aa
cmp al, 0x82
jne 0x44e2d6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45b386
mov edi, 1
jmp 0x456f29
cmp al, 0x85
je 0x44e2ea
cmp al, 0x8a
je 0x44e2ea
cmp al, 0x86
je 0x44e2ea
cmp al, 0x8b
jne 0x44e3b1
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x44e326
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x44e326
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x44e2bc
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x44e355
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44e3b1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x44e375
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44e375
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x44e3b1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x44e3e7
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x45b35f
mov edi, 0xfffffc1a
jmp 0x456f29
cmp cl, 0x78
je 0x44e460
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x44e460
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x44e42e
test ecx, ecx
jne 0x45ad06
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ad00
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test ecx, ecx
jne 0x45ad27
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ad21
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4576c7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45ad45
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ad3f
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
cmp dword [ebp + 0x44], ebx
je case.0x44d704.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x44d704.1
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x44e588
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
cmp dword [ebp + 0x44], ebx
je 0x44e4fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44e4fa
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x44ef44
cmp ecx, dword [ebp + 0x78]
je 0x44e560
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44e538
cmp ecx, edx
jbe 0x44e560
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045d5b0
add esp, 0x14
test eax, eax
jne 0x44ef44
jmp 0x44e560
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x44e560
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44e560
cmp edi, 1
je 0x44ef44
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44ef44
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f29
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x44e4c5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x44d6d1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44e64a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44e5c5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x44ef44
jmp 0x44e5e9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44e5e9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44e5e9
cmp edx, 1
je 0x44ef44
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44ef44
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x454656.14
cmp dword [ebp + 0x18], ebx
jne case.0x454656.14
cmp dword [edi], 2
jne case.0x454656.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x454656.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x454656.14
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f29
cmp dword [ebp + 0x48], ebx
jne 0x44e4cb
cmp dword [ebp + 0x88], ebx
je 0x44ef44
cmp ecx, dword [ebp + 0x84]
jbe 0x44ef44
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ef44
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f29
cmp dword [ebp + 0x48], ebx
jne 0x44e4cb
cmp dword [ebp + 0x58], ebx
je case.0x44d704.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44e4cb
cmp dword [ebp + 0x88], ebx
je 0x44e588
cmp eax, dword [ebp + 0x84]
jbe 0x44e588
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44e588
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f29
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44e755
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44e71d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x44e745
jmp 0x44e5e9
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44e5e9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44e5e9
cmp edx, 1
je 0x44e745
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x44e5e9
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x44e5e9
cmp dword [ebp + 0x88], ebx
je 0x44ef44
cmp ecx, dword [ebp + 0x84]
jbe 0x44ef44
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ef44
jmp 0x44e636
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44ea57
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x44e7a5
mov dword [esi + 0x5c], ebx
jmp 0x44e8de
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x44e7ba
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x44e7b0
cmp edx, dword [ebp + 0x84]
jae 0x44e7c8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44e87c
test bl, 0x20
jne 0x44e7f0
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x44e87c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44e80a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x44e872
and eax, 0x3f
test bl, 8
jne 0x44e825
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44e872
test bl, 4
jne 0x44e849
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x44e872
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x44e917
cmp ebx, 0x5f
jne 0x44e894
mov dword [esi + 0x5c], 1
jmp 0x44e8de
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44e8b6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x44e928
cmp eax, 3
je 0x44e928
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44e92f
cmp dword [ebp + 0x88], 0
je 0x44e90b
cmp edx, dword [ebp + 0x84]
jbe 0x44e90b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
mov dword [esi + 0x54], 0
jmp 0x44eb95
cmp ebx, 0x100
jae 0x44e8d9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44e8d9
mov eax, 1
jmp 0x44e8db
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44e9d9
test bl, 0x20
jne 0x44e94f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x44e9d1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44e969
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x44e9d1
and eax, 0x3f
test bl, 8
jne 0x44e984
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x44e9d1
test bl, 4
jne 0x44e9a8
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x44e9d1
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x44ea3c
cmp ebx, 0x5f
jne 0x44e9f0
mov dword [esi + 0x54], 1
jmp 0x44eb95
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ea12
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x44ea4d
cmp eax, 3
je 0x44ea4d
xor eax, eax
jmp 0x44eb92
cmp ebx, 0x100
jae 0x44ea35
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44ea35
mov eax, 1
jmp 0x44eb92
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44ea67
mov dword [esi + 0x5c], ebx
jmp 0x44eb02
cmp eax, dword [ebp + 0x84]
ja 0x44ea76
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x44eaee
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x44ea90
mov dword [esi + 0x5c], 1
jmp 0x44eb02
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ecx, 0x8000007f
jns 0x44eab2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x44eae0
cmp eax, 3
je 0x44eae0
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x44eaff
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x44eaff
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44eb43
cmp dword [ebp + 0x88], ebx
je 0x44eb3e
cmp eax, dword [ebp + 0x84]
jbe 0x44eb3e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44eb3e
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f30
mov dword [esi + 0x54], ebx
jmp 0x44eb95
cmp dword [ebp + 0x54], ebx
je 0x44eb82
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x44eb59
mov dword [esi + 0x54], 1
jmp 0x44eb95
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ecx, 0x8000007f
jns 0x44eb7b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x44ea14
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x44ebb0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x44ebb8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x44d6d1
jmp 0x44e4cb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44ebfd
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44ec28
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x44e4cb
jmp 0x44ec28
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x44ec28
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44ec28
cmp edx, 1
je 0x44e4cb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44e4cb
cmp dword [ebp + 0x88], ebx
je case.0x44d704.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x44d704.13
cmp dword [ebp + 0x18], ebx
jne case.0x44d704.13
cmp dword [ebp + 0x1c], 2
jne case.0x44d704.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x44d704.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44ec86
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
cmp eax, dword [ebp + 0x84]
jbe case.0x454656.14
jmp 0x44e622
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44e588
cmp eax, dword [ebp + 0x78]
jae 0x44e588
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44e588
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x44eca2
inc dword [esi + 0xc]
jmp 0x44d6d1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44ec69
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44d6d1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44ecfd
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
cmp edi, dword [ebp + 0x84]
jbe case.0x454656.14
jmp 0x44e622
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44edf9
cmp ebx, 0xc0
jb 0x44edf9
test bl, 0x20
jne 0x44ed3a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44edf6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ed64
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44edf9
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ed8a
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44eded
test bl, 4
jne 0x44edb9
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44eded
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x44ef44
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44ef44
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f30
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44ef2b
cmp ebx, 0xc0
jb 0x44ef2b
test bl, 0x20
jne 0x44ee6c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ef28
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ee96
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44ef2b
mov edx, dword [esi + 8]
test bl, 8
jne 0x44eebc
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44ef1f
test bl, 4
jne 0x44eeeb
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44ef1f
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x44de8d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44de8d
inc dword [esi + 0xc]
jmp 0x44d6ca
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f054
cmp ebx, 0xc0
jb 0x44f054
test bl, 0x20
jne 0x44ef95
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f051
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44efbf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f054
mov edx, dword [esi + 8]
test bl, 8
jne 0x44efe5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f048
test bl, 4
jne 0x44f014
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f048
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x44ef44
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x44ee0c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f174
cmp ebx, 0xc0
jb 0x44f174
test bl, 0x20
jne 0x44f0b5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f171
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f0df
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f174
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f105
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f168
test bl, 4
jne 0x44f134
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f168
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x44de8d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x44de8d
inc dword [esi + 0xc]
jmp 0x44d6ca
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f29d
cmp ebx, 0xc0
jb 0x44f29d
test bl, 0x20
jne 0x44f1de
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f29a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f208
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f29d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f22e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f291
test bl, 4
jne 0x44f25d
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f291
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x44ef44
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x44ee0c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f3bd
cmp ebx, 0xc0
jb 0x44f3bd
test bl, 0x20
jne 0x44f2fe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f3ba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f328
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f3bd
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f34e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f3b1
test bl, 4
jne 0x44f37d
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f3b1
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x44de8d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44de8d
inc dword [esi + 0xc]
jmp 0x44d6ca
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f4e6
cmp ebx, 0xc0
jb 0x44f4e6
test bl, 0x20
jne 0x44f427
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f4e3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f451
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f4e6
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f477
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f4da
test bl, 4
jne 0x44f4a6
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f4da
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x44f55f
je 0x44f501
cmp ebx, 0xa
je 0x44ef44
jbe 0x44ee12
cmp ebx, 0xc
jmp 0x44f579
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44f54a
cmp dword [ebp + 0x88], 0
je 0x44ef44
cmp eax, dword [ebp + 0x84]
jbe 0x44ef44
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ef44
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f30
cmp byte [eax], 0xa
jne 0x44ef44
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44d6ca
cmp ebx, 0x85
je 0x44f57f
cmp ebx, 0x2027
jbe 0x44ee12
cmp ebx, 0x2029
ja 0x44ee12
cmp dword [ebp + 0x68], 0
jmp 0x44ee0c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f690
cmp ebx, 0xc0
jb 0x44f690
test bl, 0x20
jne 0x44f5d1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f68d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f5fb
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f690
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f621
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f684
test bl, 4
jne 0x44f650
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f684
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x44f6c8
je 0x44de8d
cmp ebx, 0xa0
ja 0x44f6bd
je 0x44de8d
cmp ebx, 9
je 0x44de8d
cmp ebx, 0x20
jmp 0x44ef3e
cmp ebx, 0x1680
jmp 0x44ef3e
cmp ebx, 0x205f
ja 0x44f6f9
je 0x44de8d
cmp ebx, 0x2000
jb 0x44ef44
cmp ebx, 0x200a
jbe 0x44de8d
cmp ebx, 0x202f
jmp 0x44ef3e
cmp ebx, 0x3000
je 0x44de8d
inc dword [esi + 0xc]
jmp 0x44d6ca
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f815
cmp ebx, 0xc0
jb 0x44f815
test bl, 0x20
jne 0x44f756
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f812
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f780
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f815
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f7a6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f809
test bl, 4
jne 0x44f7d5
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f809
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x44f84d
je 0x44ef44
cmp ebx, 0xa0
ja 0x44f842
je 0x44ef44
cmp ebx, 9
je 0x44ef44
cmp ebx, 0x20
jmp 0x44ee0c
cmp ebx, 0x1680
jmp 0x44ee0c
cmp ebx, 0x205f
ja 0x44f87e
je 0x44ef44
cmp ebx, 0x2000
jb 0x44ee12
cmp ebx, 0x200a
jbe 0x44ef44
cmp ebx, 0x202f
jmp 0x44ee0c
cmp ebx, 0x3000
jmp 0x44ee0c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44f991
cmp ebx, 0xc0
jb 0x44f991
test bl, 0x20
jne 0x44f8d2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44f98e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f8fc
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44f991
mov edx, dword [esi + 8]
test bl, 8
jne 0x44f922
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44f985
test bl, 4
jne 0x44f951
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44f985
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x44f9b9
je 0x44ee12
cmp ebx, 0xa
jb 0x44ef44
cmp ebx, 0xd
jbe 0x44ee12
inc dword [esi + 0xc]
jmp 0x44d6ca
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44ef44
jmp 0x44ee12
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44fad5
cmp ebx, 0xc0
jb 0x44fad5
test bl, 0x20
jne 0x44fa16
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44fad2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44fa40
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44fad5
mov edx, dword [esi + 8]
test bl, 8
jne 0x44fa66
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x44fac9
test bl, 4
jne 0x44fa95
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x44fac9
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x44fafa
je 0x44ef44
cmp ebx, 0xa
jb 0x44de8d
cmp ebx, 0xd
jbe 0x44ef44
jmp 0x44de8d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44de8d
inc dword [esi + 0xc]
jmp 0x44d6ca
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44fc0d
cmp ebx, 0xc0
jb 0x44fc0d
test bl, 0x20
jne 0x44fb59
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44fc0a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44fb81
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44fc0d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44fba7
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x44fc0a
test bl, 4
jne 0x44fbd6
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x44fc0a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44fc30
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x52fb48]
cmp eax, 0xa
ja case.default.0x44fc4a
jmp dword [eax*4 + 0x45b60c]
cmp dword [esi + 0x9c], 0xf
jne 0x44d6c6
jmp 0x44e4cb
mov al, byte [edx*8 + 0x52c2c9]
cmp al, 9
je 0x44fc7a
cmp al, 5
je 0x44fc7a
cmp al, 8
je 0x44fc7a
xor ecx, ecx
jmp 0x44fc7f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x44d6c6
jmp 0x44e4cb
movzx ecx, byte [edx*8 + 0x52c2c9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x52c0d8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x44d6c6
jmp 0x44e4cb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x52c2c9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x44d6c6
jmp 0x44e4cb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x52c2c8]
jmp 0x44fcdb
movzx eax, byte [edx*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x44fc7a
cmp eax, 3
je 0x44fc7a
xor ecx, ecx
jmp 0x44fc7f
cmp ebx, 0x180e
ja 0x44fd73
je case.0x44fc4a.0
cmp ebx, 0x85
ja 0x44fd5f
je case.0x44fc4a.0
cmp ebx, 9
jb case.0x44fd93.8203
cmp ebx, 0xd
jbe case.0x44fc4a.0
cmp ebx, 0x20
jmp 0x44fdac
cmp ebx, 0xa0
je case.0x44fc4a.0
cmp ebx, 0x1680
jmp 0x44fdac
cmp ebx, 0x202f
ja 0x44fd9a
je case.0x44fc4a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x44fd93.8203
movzx eax, byte [ebx + 0x45b640]
jmp dword [eax*4 + 0x45b638]
cmp ebx, 0x205f
je case.0x44fc4a.0
cmp ebx, 0x3000
je case.0x44fc4a.0
movzx eax, byte [edx*8 + 0x52c2c9]
xor ecx, ecx
cmp dword [eax*4 + 0x52c0d8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x44fce7
movzx eax, byte [edx*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x44fc7a
cmp eax, 3
je 0x44fc7a
cmp ebx, 0x5f
je 0x44fc7a
xor ecx, ecx
jmp 0x44fc7f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x52c188]
lea eax, [eax*4 + 0x52c188]
cmp ebx, ecx
jb 0x44fe2d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x44fe3f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x44fe20
cmp dword [esi + 0x9c], 0x10
jne 0x44d6c6
jmp 0x44e4cb
cmp dword [esi + 0x9c], 0x10
je 0x44d6c6
jmp 0x44e4cb
cmp ebx, 0x24
je 0x44fc7a
cmp ebx, 0x40
je 0x44fc7a
cmp ebx, 0x60
je 0x44fc7a
cmp ebx, 0xa0
jb 0x44fe80
cmp ebx, 0xd7ff
jbe 0x44fc7a
cmp ebx, 0xe000
jae 0x44fc7a
xor ecx, ecx
jmp 0x44fc7f
mov esi, dword [esi]
test esi, esi
je case.default.0x456f44
mov edi, 0xfffffff2
jmp 0x456f29
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x44ffb2
cmp ebx, 0xc0
jb 0x44ffb2
test bl, 0x20
jne 0x44fef0
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ffaf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ff1f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44ffb2
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ff45
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x44ffa8
test bl, 4
jne 0x44ff74
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x44ffa8
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ffd4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x450166
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4500fe
cmp ebx, 0xc0
jb 0x4500fe
test bl, 0x20
jne 0x450035
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4500f6
test bl, 0x10
jne 0x45005a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x4500f6
test bl, 8
jne 0x450088
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x4500f6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4500c2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x4500f6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x450120
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx ecx, byte [eax*8 + 0x52c2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52c150], eax
je 0x450166
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x450000
cmp dword [ebp + 0x88], 0
je 0x44ef44
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44ef44
cmp eax, dword [ebp + 0x84]
jbe 0x44ef44
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44ef44
jmp 0x44e636
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x450294
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x450224
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x45022d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x450200
jmp 0x450294
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x450294
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x450284
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x450284
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x45028e
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4502af
movzx eax, byte [eax + 0x45b674]
jmp dword [eax*4 + 0x45b66c]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x52b618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52b624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45033d
mov dword [esi + 0x8c], closesocket
jmp 0x45033d
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x450339
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x44d6d1
jns 0x450361
cmp dword [esi + 0x90], 0
je 0x44d6d1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45039f
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045bb70
add esp, 0x14
test eax, eax
js 0x4503d1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x450370
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44d6d1
cmp dword [esp + 0x80], 0
je 0x4503fa
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4577e2
cmp eax, 0xfffffffe
jne 0x4503dc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x454656.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x454656.14
jmp 0x44ec75
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x450410
cmp edi, dword [esi + 0x8c]
jge 0x457831
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045bb70
add esp, 0x14
test eax, eax
js 0x450445
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x450410
cmp eax, 0xfffffffe
jne 0x457831
cmp dword [ebp + 0x88], 0
je 0x457831
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x457831
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457831
jmp 0x44e636
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0045bb70
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x450509
cmp eax, 0xfffffffe
jne 0x4504b5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x457e0d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x457e0d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x457e0d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x457e0d.14
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x456f34
add dword [esi + 8], eax
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x450537
movzx eax, byte [eax + 0x45b684]
jmp dword [eax*4 + 0x45b67c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x45055a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x450565
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x52b618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52b624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4505fc
mov dword [esi + 0x8c], closesocket
jmp 0x4505fc
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4505e2
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4505fc
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45075c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4507b1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45070c
test bl, 0x20
jne 0x45065a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x450709
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450681
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x450707
test bl, 8
jne 0x4506a4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x450707
test bl, 4
jne 0x4506d3
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x450707
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x45071d
cmp dword [esi + 0x9c], 0x6e
jmp 0x450732
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x450620
jmp 0x4507a3
cmp dword [ebp + 0x88], 0
je case.0x454656.14
mov eax, dword [esi + 8]
jmp 0x44ec75
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4507aa
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x450747
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x450770
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44d6ca
test ebx, ebx
je 0x4507da
test edx, edx
jne 0x45aa47
mov dword [esi + 0x84], eax
jmp 0x4578cb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x450992
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45097f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x450957
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x450906
test bl, 0x20
jne 0x45084b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x450906
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x450873
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4508fc
and eax, 0x3f
test bl, 8
jne 0x450899
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4508fc
test bl, 4
jne 0x4508c8
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x4508fc
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x450917
cmp dword [esi + 0x9c], 0x6e
jmp 0x45092c
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x45097f
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x450801
jmp 0x45097f
cmp dword [ebp + 0x88], 0
je 0x45097f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45097f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x45888c
jmp 0x44d6ca
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x450a0a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4509e2
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x450a0a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x4509a1
jmp 0x450a0a
cmp dword [ebp + 0x88], 0
je 0x450a0a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x450a0a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x45790b
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x450a55
movzx eax, byte [eax + 0x45b698]
jmp dword [eax*4 + 0x45b690]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x450a78
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x450a83
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x52b618]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x52b624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x450b1a
mov dword [esi + 0x8c], closesocket
jmp 0x450b1a
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x450b00
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x450b1a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x450c55
jmp 0x450b30
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x450c2a
cmp edx, 0xc0
jb 0x450c2a
test dl, 0x20
jne 0x450b78
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x450c27
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x450b9f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x450c25
test dl, 8
jne 0x450bc2
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x450c25
test dl, 4
jne 0x450bf1
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x450c25
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0045cdf0
add esp, 0xc
test eax, eax
je case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x450b30
jmp 0x450c5c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44d6d1
cmp dword [esp + 0x84], 0
jne 0x45aa58
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x450ded
jmp 0x450ca0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x450dc3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x450d8b
cmp edx, 0xc0
jb 0x450d8b
test dl, 0x20
jne 0x450cec
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x450d8b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x450d0b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x450d81
and eax, 0x3f
test dl, 8
jne 0x450d2b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x450d81
test dl, 4
jne 0x450d54
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x450d81
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0045cdf0
add esp, 0xc
test eax, eax
je 0x450ded
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x450ca0
jmp 0x450ded
cmp dword [ebp + 0x88], 0
je 0x450de6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x450de6
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x44e636
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x44d6d1
jmp 0x4586a1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x450fd9
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x450f60
test al, 0x20
jne 0x450e60
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x450f60
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x450e9a
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x450f60
test al, 8
jne 0x450ed6
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x450f60
test al, 4
mov eax, dword [esi + 0x80]
jne 0x450f1b
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x450f60
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x450f99
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
cmp edx, edi
jb case.0x454656.14
cmp edx, dword [ebp + 0x84]
jbe case.0x454656.14
jmp 0x44e622
test ecx, ecx
jle 0x450fce
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x454656.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x450fa0
dec dword [esi + 0x88]
jmp 0x44d6ca
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x451026
cmp dword [ebp + 0x88], ebx
je 0x44de8d
cmp edi, dword [ebp + 0x84]
jbe 0x44de8d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44de8d
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f30
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x45133b
jmp 0x44e4cb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44ece0
cmp dword [esp + 0x8c], ebx
je 0x45131c
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x4511ab
test al, 0x20
jne 0x4510ab
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x4511ab
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x4510e5
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x4511ab
test al, 8
jne 0x451121
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4511ab
test al, 4
mov eax, dword [esi + 0x80]
jne 0x451166
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4511ab
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x4511d9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x44e4cb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x44d6ca
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x4512bb
test bl, 0x20
jne 0x451209
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4512b8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451230
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4512b6
test bl, 8
jne 0x451253
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4512b6
test bl, 4
jne 0x451282
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x4512b6
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x44d6ca
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4512f5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
mov eax, dword [eax*8 + 0x52c2cc]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x44d6d1
jmp 0x44e4cb
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x44e4cb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x45146d
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x4513a4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x4513af
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x45146d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x451474
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x451474
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x451474
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x52b618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52b624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45146d
mov dword [esi + 0x8c], closesocket
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x4518e8
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x4515bb
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x4514d1
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4515bb
test bl, 0x10
jne 0x451506
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4515bb
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x451544
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4515bb
test bl, 4
jne 0x45157d
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4515bb
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x4518f7
cmp dword [esi + 0x9c], 0x2e
jb 0x45162c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x451603
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
mov ecx, dword [eax*8 + 0x52c2cc]
add ecx, edi
cmp ecx, edi
je 0x45162c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0045cd90
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x451633
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x451766
jmp 0x451650
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x4516d4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x451688
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x451691
add ecx, 4
add edx, 4
sub edi, 4
jae 0x451677
cmp edi, 0xfffffffc
je 0x451748
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4516ca
cmp edi, 0xfffffffd
je 0x451748
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4516ca
cmp edi, 0xfffffffe
je 0x451748
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4516ca
cmp edi, 0xffffffff
je 0x451748
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x451748
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x4503dc
sub ecx, ebx
cmp edi, ecx
ja 0x4503dc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x451706
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45170b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4516f5
cmp edi, 0xfffffffc
je 0x451748
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4503dc
cmp edi, 0xfffffffd
je 0x451748
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4503dc
cmp edi, 0xfffffffe
je 0x451748
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4503dc
cmp edi, 0xffffffff
je 0x451748
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4503dc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x451650
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44d6d1
cmp dword [esp + 0x84], 0
jne 0x45aa69
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4518d5
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x45182c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4517e8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4517f1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4517d7
cmp edi, 0xfffffffc
je 0x451888
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x451822
cmp edi, 0xfffffffd
je 0x451888
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x451822
cmp edi, 0xfffffffe
je 0x451888
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x451822
cmp edi, 0xffffffff
je 0x451888
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x451888
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x4518a8
sub ecx, ebx
cmp edi, ecx
ja 0x4518a8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x451856
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45185b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x451845
cmp edi, 0xfffffffc
je 0x451888
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4518a8
cmp edi, 0xfffffffd
je 0x451888
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4518a8
cmp edi, 0xfffffffe
je 0x451888
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4518a8
cmp edi, 0xffffffff
je 0x451888
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4518a8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x4517b0
jmp 0x4518d5
cmp dword [ebp + 0x88], 0
je 0x4518d5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4518d5
cmp eax, dword [ebp + 0x84]
jbe 0x4518d5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x458a4c
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x4519ef
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x451954
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x450747
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x451947
cmp dword [esi + 0x94], ecx
jne case.0x454656.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x451924
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44d6ca
cmp dword [esp + 0x84], 0
je 0x45197b
mov dword [esi + 0x84], eax
jmp 0x4579ab
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4519e2
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4519ba
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4519ab
cmp dword [esi + 0x94], ecx
jne 0x4519e2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x451990
jmp 0x4519e2
cmp dword [ebp + 0x88], 0
je 0x4519e2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4519e2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
test edi, edi
je 0x4579eb
jmp 0x44d6ca
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x451a2a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451a00
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44d6d1
cmp dword [esp + 0x84], 0
je 0x451a58
mov dword [esi + 0x84], eax
jmp 0x457a78
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x451abc
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x451a94
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x451abc
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x451a70
jmp 0x451abc
cmp dword [ebp + 0x88], 0
je 0x451abc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451abc
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x457ab8
jmp 0x44d6d1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x451af4
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x454656.14
jmp 0x44e622
test edi, edi
je 0x451d6c
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x451bf5
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x451b32
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451bf2
test bl, 0x10
jne 0x451b53
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451bf2
test bl, 8
jne 0x451b7e
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x451bf5
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x451bb7
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x451bf2
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x451ce8
test dl, 0x20
jne 0x451c2f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x451cde
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x451c56
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x451cdc
test dl, 8
jne 0x451c79
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x451cdc
test dl, 4
jne 0x451ca8
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x451cdc
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x451d05
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x44d6d1
jmp 0x44e4cb
cmp ebx, 0x7f
jbe 0x451d42
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x451d2d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
mov ecx, dword [eax*8 + 0x52c2cc]
add ecx, ebx
jmp 0x451d49
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x44e4cb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x44d6d1
jmp 0x44e4cb
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x454656.14
cmp dword [esi + 0x9c], 0x20
jne 0x45133b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x454656.14
add dword [esi + 0xc], 2
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x451f06
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x451e0b
cmp al, 0x4f
je 0x451e0b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x451f06
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x451f06
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x451f06
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x451f06
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x451f06
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x451f06
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x52b618]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x52b624]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x451f06
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x452061
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x452061
test al, 0x20
jne 0x451f58
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x452061
test al, 0x10
jne 0x451f8b
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x452061
test al, 8
jne 0x451fcd
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x452061
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x452018
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x45205a
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x452485
test edx, edx
je 0x4520bc
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x4520bc
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4520a0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
mov eax, dword [eax*8 + 0x52c2cc]
add eax, edi
jmp 0x4520c9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x452210
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45225b
jmp 0x4520f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4521e9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x45212a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4521e6
test cl, 0x10
jne 0x45214b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4521e6
test cl, 8
jne 0x452175
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4521e6
test cl, 4
jne 0x4521ab
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
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
lea eax, [edx + 4]
jmp 0x4521e6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x454656.14
cmp dword [esi + 0x94], ecx
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4520f0
jmp 0x452254
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x452254
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x450747
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x454656.14
cmp dword [esi + 0x94], ecx
je case.0x454656.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x452220
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44d6ca
test ebx, ebx
je 0x452284
test edx, edx
jne 0x45aa7a
mov dword [esi + 0x84], eax
jmp 0x457b4f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45240d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4523fa
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4523d2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4523ae
test dl, 0x20
jne 0x4522e2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4523ae
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45230c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x4523ac
test dl, 8
jne 0x452338
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x4523ac
test dl, 4
jne 0x452370
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x4523ac
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x4523fa
cmp dword [esi + 0x94], edx
je 0x4523fa
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4522a4
jmp 0x4523fa
cmp dword [ebp + 0x88], 0
je 0x4523fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4523fa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x458c2c
jmp 0x44d6ca
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x452472
jmp 0x452420
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45244a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x452472
cmp dword [esi + 0x94], ecx
je 0x452472
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x452420
jmp 0x452472
cmp dword [ebp + 0x88], 0
je 0x452472
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x452472
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x457b8f
jmp 0x44d6ca
test edx, edx
je 0x4525a7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4525e5
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45258c
test dl, 0x20
jne 0x4524da
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452589
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452501
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452587
test dl, 8
jne 0x452524
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x452587
test dl, 4
jne 0x452553
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x452587
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4524a0
jmp 0x4525de
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4525e5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4525b4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44d6ca
cmp dword [esp + 0x84], 0
je 0x452614
test edx, edx
jne 0x45aa8f
mov dword [esi + 0x84], eax
jmp 0x457c1c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x452798
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x452785
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45275d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x452741
test dl, 0x20
jne 0x452672
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x452741
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45269c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x45273f
test dl, 8
jne 0x4526cb
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x45273f
test dl, 4
jne 0x452703
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x45273f
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x452785
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x452634
jmp 0x452785
cmp dword [ebp + 0x88], 0
je 0x452785
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x452785
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x458df0
jmp 0x44d6ca
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4527f2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4527ca
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4527f2
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4527a6
jmp 0x4527f2
cmp dword [ebp + 0x88], 0
je 0x4527f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4527f2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x457c5c
jmp 0x44d6ca
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x452944
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x452944
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452944
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452944
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x452944
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x452944
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x52b5c3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x52b5cf]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x452944
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x452966
cmp ecx, 0xf
je 0x452966
mov dword [esi + 0x60], 0xffffffff
jmp 0x452989
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x45492b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x453738
cmp eax, 0xa
ja case.default.0x44fc4a
jmp dword [eax*4 + 0x45b6a4]
cmp dword [esi + 0x68], ebx
jne 0x44e4cb
mov edx, 1
cmp ecx, edx
jl 0x45492b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x452a0f
cmp ecx, 0xc0
jb 0x452a0f
test cl, 0x20
jne 0x4529eb
inc eax
jmp 0x452a0c
test cl, 0x10
jne 0x4529f5
add eax, 2
jmp 0x452a0c
test cl, 8
jne 0x4529ff
add eax, 3
jmp 0x452a0c
test cl, 4
jne 0x452a09
add eax, 4
jmp 0x452a0c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4529c8
jmp 0x45492b
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
mov eax, dword [esi + 8]
jmp 0x44ec75
mov edi, 1
cmp ecx, edi
jl 0x45492b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x452b3a
cmp ebx, 0xc0
jb 0x452b3a
test bl, 0x20
jne 0x452a88
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452b37
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452aaf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x452b35
test bl, 8
jne 0x452ad2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x452b35
test bl, 4
jne 0x452b01
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x452b35
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452b5c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp eax, 9
je 0x452b81
cmp eax, 5
je 0x452b81
cmp eax, 8
je 0x452b81
xor eax, eax
jmp 0x452b86
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x452a40
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x45492b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x452ca8
cmp ebx, 0xc0
jb 0x452ca8
test bl, 0x20
jne 0x452bf8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452ca5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452c1f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x452ca5
test bl, 8
jne 0x452c42
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x452ca5
test bl, 4
jne 0x452c71
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x452ca5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452cca
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x452bb0
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x45492b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x452e0b
cmp ebx, 0xc0
jb 0x452e0b
test bl, 0x20
jne 0x452d5b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452e08
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452d82
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x452e08
test bl, 8
jne 0x452da5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x452e08
test bl, 4
jne 0x452dd4
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x452e08
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452e2d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x452d13
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x45492b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x452f68
cmp ebx, 0xc0
jb 0x452f68
test bl, 0x20
jne 0x452eb8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452f65
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452edf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x452f65
test bl, 8
jne 0x452f02
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x452f65
test bl, 4
jne 0x452f31
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x452f65
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x452f8a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x452e70
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x45492b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4530ca
cmp ebx, 0xc0
jb 0x4530ca
test bl, 0x20
jne 0x453018
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4530c7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45303f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4530c5
test bl, 8
jne 0x453062
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4530c5
test bl, 4
jne 0x453091
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x4530c5
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4530ec
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x453113
cmp eax, 3
je 0x453113
xor eax, eax
jmp 0x453118
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x452fd0
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x45492b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45323a
cmp ebx, 0xc0
jb 0x45323a
test bl, 0x20
jne 0x453188
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453237
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4531af
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x453235
test bl, 8
jne 0x4531d2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x453235
test bl, 4
jne 0x453201
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x453235
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x45327d
je case.0x453299.8192
cmp ebx, 0x85
ja 0x453269
je case.0x453299.8192
cmp ebx, 9
jb case.0x453299.8203
cmp ebx, 0xd
jbe case.0x453299.8192
cmp ebx, 0x20
jmp 0x4532ae
cmp ebx, 0xa0
je case.0x453299.8192
cmp ebx, 0x1680
jmp 0x4532ae
cmp ebx, 0x202f
ja 0x4532a0
je case.0x453299.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x453299.8203
movzx eax, byte [eax + 0x45b6d8]
jmp dword [eax*4 + 0x45b6d0]
cmp ebx, 0x205f
je case.0x453299.8192
cmp ebx, 0x3000
je case.0x453299.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4532d2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp dword [eax*4 + 0x52c0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x454656.14
jmp 0x453306
cmp dword [esi + 0x68], 0
jne case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453140
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x45492b
jmp 0x453330
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x453428
cmp ebx, 0xc0
jb 0x453428
test bl, 0x20
jne 0x453378
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x453425
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45339f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x453425
test bl, 8
jne 0x4533c2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x453425
test bl, 4
jne 0x4533f1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x453425
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45344b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x453477
cmp eax, 3
je 0x453477
cmp ebx, 0x5f
je 0x453477
xor eax, eax
jmp 0x45347c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x454656.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453330
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x45492b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45359c
cmp edx, 0xc0
jb 0x45359c
test dl, 0x20
jne 0x4534ec
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453599
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453513
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x453599
test dl, 8
jne 0x453536
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x453599
test dl, 4
jne 0x453565
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x453599
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x52c188]
lea eax, [eax*4 + 0x52c188]
cmp edx, ecx
jb 0x4535be
lea eax, [eax + 4]
cmp edx, ecx
je 0x4535da
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4535b1
cmp dword [esi + 0x68], 0
je case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4534a4
jmp 0x45492b
cmp dword [esi + 0x68], 0
jne case.0x454656.14
jmp 0x4535c8
mov ebx, 1
cmp ecx, ebx
jl 0x45492b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4536ed
cmp edx, 0xc0
jb 0x4536ed
test dl, 0x20
jne 0x45363b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4536ea
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453662
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4536e8
test dl, 8
jne 0x453685
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4536e8
test dl, 4
jne 0x4536b4
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4536e8
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x453718
cmp edx, 0x40
je 0x453718
cmp edx, 0x60
je 0x453718
cmp edx, 0xa0
jb 0x45370c
cmp edx, 0xd7ff
jbe 0x453718
cmp edx, 0xe000
jae 0x453718
xor eax, eax
jmp 0x45371d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4535f3
jmp 0x45492b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x453a63
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45492b
jmp 0x453760
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x450747
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x453860
cmp ebx, 0xc0
jb 0x453860
test bl, 0x20
jne 0x4537a9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45385d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4537d0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x453856
test bl, 8
jne 0x4537f3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x453856
test bl, 4
jne 0x453822
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x453856
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x453882
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2ca]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453a1d
jmp 0x4538b0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4539ae
cmp ebx, 0xc0
jb 0x4539ae
test bl, 0x20
jne 0x4538e5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4539a6
test bl, 0x10
jne 0x45390a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x4539a6
test bl, 8
jne 0x453938
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x4539a6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x453972
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x4539a6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4539d0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx ecx, byte [eax*8 + 0x52c2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52c150], eax
je 0x453a16
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x4538b0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x453a4a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x453a4a
cmp eax, dword [ebp + 0x84]
jbe 0x453a4a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x453760
jmp 0x45492b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45452f
cmp eax, 0xf
ja case.0x456a77.9
jmp dword [eax*4 + 0x45b704]
mov ebx, 1
cmp ecx, ebx
jl 0x454932
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x450747
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x453ac7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne case.0x454656.14
jmp 0x453aeb
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x453aeb
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x453aeb
cmp edx, 1
je case.0x454656.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x454656.14
cmp dword [ebp + 0x88], 0
je 0x453b26
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x453b26
cmp dword [ebp + 0x18], 0
jne 0x453b26
cmp dword [edi], 2
jne 0x453b26
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x453b26
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x453b42
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x453b42
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x453b31
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453a92
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x452a1d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x453b98
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x453b98
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x453b80
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453b64
jmp 0x45492b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x44e4cb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x454932
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x453cbc
test dl, 0x20
jne 0x453c0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453cb9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453c31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x453cb7
test dl, 8
jne 0x453c54
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x453cb7
test dl, 4
jne 0x453c83
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x453cb7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x453ce0
je 0x453ccd
cmp edx, 0xa
je 0x453d01
lea eax, [edx - 0xb]
jmp 0x453cee
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x453d01
cmp byte [eax], 0xa
jne 0x453d01
inc eax
mov dword [esi + 8], eax
jmp 0x453d01
cmp edx, 0x85
je 0x453cf7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x454656.14
cmp dword [ebp + 0x68], 0
jne case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453bd0
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x454932
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x453e0c
test dl, 0x20
jne 0x453d5a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453e09
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453d81
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x453e07
test dl, 8
jne 0x453da4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x453e07
test dl, 4
jne 0x453dd3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x453e07
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x453e3e
je case.0x454656.14
cmp edx, 0xa0
ja 0x453e36
je case.0x454656.14
cmp edx, 9
je case.0x454656.14
cmp edx, 0x20
jmp 0x453e6e
cmp edx, 0x1680
jmp 0x453e6e
cmp edx, 0x205f
ja 0x453e68
je case.0x454656.14
cmp edx, 0x2000
jb 0x453e74
cmp edx, 0x200a
jbe case.0x454656.14
cmp edx, 0x202f
jmp 0x453e6e
cmp edx, 0x3000
je case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453d20
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x454932
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x453f7f
test dl, 0x20
jne 0x453ecd
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453f7c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453ef4
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x453f7a
test dl, 8
jne 0x453f17
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x453f7a
test dl, 4
jne 0x453f46
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x453f7a
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x453fa5
je 0x453fd7
cmp edx, 0xa0
ja 0x453f9d
je 0x453fd7
cmp edx, 9
je 0x453fd7
cmp edx, 0x20
jmp 0x453fd1
cmp edx, 0x1680
jmp 0x453fd1
cmp edx, 0x205f
ja 0x453fcb
je 0x453fd7
cmp edx, 0x2000
jb case.0x454656.14
cmp edx, 0x200a
jbe 0x453fd7
cmp edx, 0x202f
jmp 0x453fd1
cmp edx, 0x3000
jne case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x453e93
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x454932
jmp 0x454000
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4540ec
test dl, 0x20
jne 0x45403a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4540e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x454061
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4540e7
test dl, 8
jne 0x454084
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4540e7
test dl, 4
jne 0x4540b3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4540e7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x454104
je case.0x454656.14
cmp edx, 0xa
jb 0x454118
cmp edx, 0xd
jmp 0x454112
cmp edx, 0x2028
jb 0x454118
cmp edx, 0x2029
jbe case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454000
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x454932
jmp 0x454140
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45422c
test dl, 0x20
jne 0x45417a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454229
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4541a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x454227
test dl, 8
jne 0x4541c4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x454227
test dl, 4
jne 0x4541f3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x454227
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x45423e
je 0x45424d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x454247
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454140
jmp 0x45492b
mov ebx, 1
cmp ecx, ebx
jl 0x454932
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x450747
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45435c
test dl, 0x20
jne 0x4542aa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x454359
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4542d1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x454357
test dl, 8
jne 0x4542f4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x454357
test dl, 4
jne 0x454323
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x454357
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x454371
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x454656.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454270
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452a1d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x454656.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x454656.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x454390
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x452a1d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x454403
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x454656.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x454428
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454428
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x454410
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4543e0
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452a1d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x454656.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x454656.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x454443
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x452a1d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4544b3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x454656.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4544d8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4544d8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4544c0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x454490
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452a1d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x454656.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x454656.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4544f3
jmp 0x45492b
cmp eax, 0xf
ja case.0x456a77.9
jmp dword [eax*4 + 0x45b744]
mov ebx, 1
cmp ecx, ebx
jl 0x454932
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x450747
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x454580
push 0
push edi
push eax
push edx
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne case.0x454656.14
jmp 0x4545a4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x4545a4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4545a4
cmp edx, 1
je case.0x454656.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x454656.14
cmp dword [ebp + 0x88], 0
je 0x4545df
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4545df
cmp dword [ebp + 0x18], 0
jne 0x4545df
cmp dword [edi], 2
jne 0x4545df
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4545df
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x454550
jmp 0x45492b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x453bb6
cmp dword [ebp + 0x88], ebx
je case.0x454656.14
cmp edx, dword [ebp + 0x84]
jbe case.0x454656.14
jmp 0x44e622
mov edx, 1
cmp ecx, edx
jl 0x45492b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x452a1d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x454656.14
movzx eax, byte [eax + 0x45b794]
jmp dword [eax*4 + 0x45b784]
cmp ecx, dword [ebp + 0x78]
jae case.0x454656.10
cmp byte [ecx], 0xa
jne case.0x454656.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x454656.10
cmp dword [ebp + 0x68], ebx
jne case.0x454656.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x454630
jmp 0x45492b
mov edx, 1
cmp ecx, edx
jl 0x45492b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x454656.14
cmp ecx, 0x20
je case.0x454656.14
cmp ecx, 0xa0
je case.0x454656.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x454693
jmp 0x45492b
mov edx, 1
cmp ecx, edx
jl 0x45492b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x454709
cmp ecx, 0x20
je 0x454709
cmp ecx, 0xa0
jne case.0x454656.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4546e0
jmp 0x45492b
mov edx, 1
cmp ecx, edx
jl 0x45492b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x454751
cmp ecx, 0xd
jle case.0x454656.14
cmp ecx, 0x85
je case.0x454656.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x454724
jmp 0x45492b
mov edx, 1
cmp ecx, edx
jl 0x45492b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x454656.14
cmp ecx, 0xd
jle 0x45479d
cmp ecx, 0x85
jne case.0x454656.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x454770
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
jmp 0x4547c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x454656.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4547c0
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x454656.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x454800
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x454656.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x454840
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x454656.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x454880
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
jmp 0x4548c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x454656.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4548c0
jmp 0x45492b
mov edi, 1
cmp ecx, edi
jl 0x454932
jmp 0x454900
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x452a1d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x454656.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x454900
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x44d6ca
cmp dword [esp + 0x84], 0
je 0x454992
mov eax, dword [esi + 0x60]
test eax, eax
js 0x454975
cmp eax, 0xa
ja case.0x456a77.9
jmp dword [eax*4 + 0x45b810]
mov esi, dword [esi]
test esi, esi
je case.default.0x456f44
mov edi, 0xfffffff2
jmp 0x456f30
cmp dword [esi + 0x7c], 0x16
je 0x45ab63
test edx, edx
jne 0x45ab4e
mov dword [esi + 0x84], ecx
jmp 0x457dc5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4559cb
cmp eax, 0xa
ja case.0x456a77.9
jmp dword [eax*4 + 0x45b83c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4559b8
mov ebx, dword [esp + 0x8c]
jmp 0x4549d0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x454a3b
movzx ecx, byte [edx]
test ebx, ebx
je 0x454a1e
cmp ecx, 0xc0
jb 0x454a1e
test cl, 0x20
jne 0x4549f8
mov eax, 2
jmp 0x454a1e
test cl, 0x10
jne 0x454a04
mov eax, 3
jmp 0x454a1e
test cl, 8
jne 0x454a10
mov eax, 4
jmp 0x454a1e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4559b8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4549d0
jmp 0x4559b8
cmp dword [ebp + 0x88], 0
je 0x4559b8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4559b8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4559b8
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x456f30
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x454bfe
movzx ebx, byte [edi]
test edx, edx
je 0x454b7c
cmp ebx, 0xc0
jb 0x454b7c
test bl, 0x20
jne 0x454ade
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x454b74
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x454afd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x454b74
and eax, 0x3f
test bl, 8
jne 0x454b1d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x454b74
test bl, 4
jne 0x454b46
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x454b74
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x454b9e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp eax, 9
je 0x454bc3
cmp eax, 5
je 0x454bc3
cmp eax, 8
je 0x454bc3
xor eax, eax
jmp 0x454bc8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4559b8
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x454aa0
jmp 0x4559b8
cmp dword [ebp + 0x88], 0
je 0x4559b8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4559b8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4559b8
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f30
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
jmp 0x454c60
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x454de2
movzx ebx, byte [edi]
test edx, edx
je 0x454d63
cmp ebx, 0xc0
jb 0x454d63
test bl, 0x20
jne 0x454caa
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x454d5b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x454cd2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x454d5b
and eax, 0x3f
test bl, 8
jne 0x454cf8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x454d5b
test bl, 4
jne 0x454d27
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x454d5b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x454d85
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4559b8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x454c60
jmp 0x4559b8
cmp dword [ebp + 0x88], 0
je 0x4559b8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4559b8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x454c23
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x454de2
movzx ebx, byte [edi]
test edx, edx
je 0x454f2f
cmp ebx, 0xc0
jb 0x454f2f
test bl, 0x20
jne 0x454e76
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x454f27
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x454e9e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x454f27
and eax, 0x3f
test bl, 8
jne 0x454ec4
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x454f27
test bl, 4
jne 0x454ef3
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x454f27
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x454f51
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4559b8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x454e30
jmp 0x4559b8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x454de2
movzx ebx, byte [edi]
test edx, edx
je 0x4550c3
cmp ebx, 0xc0
jb 0x4550c3
test bl, 0x20
jne 0x45500a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4550bb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455032
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4550bb
and eax, 0x3f
test bl, 8
jne 0x455058
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4550bb
test bl, 4
jne 0x455087
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x4550bb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4550e5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4559b8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x454fc0
jmp 0x4559b8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x454bfe
movzx ebx, byte [edi]
test edx, edx
je 0x455233
cmp ebx, 0xc0
jb 0x455233
test bl, 0x20
jne 0x455192
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45522b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4551b4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45522b
and eax, 0x3f
test bl, 8
jne 0x4551d4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45522b
test bl, 4
jne 0x4551fd
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45522b
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455255
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x45527c
cmp eax, 3
je 0x45527c
xor eax, eax
jmp 0x455281
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4559b8
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x455154
jmp 0x4559b8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x454de2
movzx ebx, byte [edi]
test edx, edx
je 0x4553dd
cmp ebx, 0xc0
jb 0x4553dd
test bl, 0x20
jne 0x455322
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x4553dd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45534a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4553d3
and eax, 0x3f
test bl, 8
jne 0x455370
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4553d3
test bl, 4
jne 0x45539f
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x4553d3
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x455420
je case.0x455440.8192
cmp ebx, 0x85
ja 0x45540c
je case.0x455440.8192
cmp ebx, 9
jb case.0x455440.8203
cmp ebx, 0xd
jbe case.0x455440.8192
cmp ebx, 0x20
jmp 0x455455
cmp ebx, 0xa0
je case.0x455440.8192
cmp ebx, 0x1680
jmp 0x455455
cmp ebx, 0x202f
ja 0x455447
je case.0x455440.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x455440.8203
movzx eax, byte [eax + 0x45b870]
jmp dword [eax*4 + 0x45b868]
cmp ebx, 0x205f
je case.0x455440.8192
cmp ebx, 0x3000
je case.0x455440.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455479
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp dword [eax*4 + 0x52c0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4559b8
mov edx, dword [esp + 0x8c]
jmp 0x4554b4
cmp dword [esi + 0x68], 0
jne 0x4559b8
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x4552d0
jmp 0x4559b8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x454de2
movzx ebx, byte [edi]
test edx, edx
je 0x455603
cmp ebx, 0xc0
jb 0x455603
test bl, 0x20
jne 0x45554a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4555fb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x455572
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4555fb
and eax, 0x3f
test bl, 8
jne 0x455598
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4555fb
test bl, 4
jne 0x4555c7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x4555fb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x455626
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x455652
cmp eax, 3
je 0x455652
cmp ebx, 0x5f
je 0x455652
xor eax, eax
jmp 0x455657
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4559b8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x455500
jmp 0x4559b8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x4559b8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4557ef
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x455791
cmp edx, 0xc0
jb 0x455791
test dl, 0x20
jne 0x4556f4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x455789
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455713
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x455789
and eax, 0x3f
test dl, 8
jne 0x455733
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x455789
test dl, 4
jne 0x45575c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x455789
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x52c188]
lea eax, [eax*4 + 0x52c188]
cmp edx, ecx
jb 0x4557b3
lea eax, [eax + 4]
cmp edx, ecx
je 0x4557e3
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4557a6
cmp dword [esi + 0x68], 0
je 0x4559b8
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x4556b0
jmp 0x4559b8
cmp dword [esi + 0x68], 0
jne 0x4559b8
jmp 0x4557bd
cmp dword [ebp + 0x88], 0
je 0x4559b8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4559b8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x4559b8
jmp 0x44e636
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4559b8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x455990
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x455947
cmp edx, 0xc0
jb 0x455947
test dl, 0x20
jne 0x45587d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x455947
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4558a7
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x455947
test dl, 8
jne 0x4558d3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x455947
test dl, 4
jne 0x45590b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x455947
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0x24
je 0x455972
cmp edx, 0x40
je 0x455972
cmp edx, 0x60
je 0x455972
cmp edx, 0xa0
jb 0x455966
cmp edx, 0xd7ff
jbe 0x455972
cmp edx, 0xe000
jae 0x455972
xor ecx, ecx
jmp 0x455977
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x4559b8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455831
jmp 0x4559b8
cmp dword [ebp + 0x88], 0
je 0x4559b8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4559b8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
je 0x459e6c
jmp 0x44d6ca
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x455d67
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x455d18
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455cf0
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x455af0
cmp ebx, 0xc0
jb 0x455af0
test bl, 0x20
jne 0x455a39
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x455aed
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x455a60
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x455ae6
test bl, 8
jne 0x455a83
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x455ae6
test bl, 4
jne 0x455ab2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x455ae6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455b12
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2ca]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x455cad
jmp 0x455b40
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x455c3e
cmp ebx, 0xc0
jb 0x455c3e
test bl, 0x20
jne 0x455b75
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x455c36
test bl, 0x10
jne 0x455b9a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x455c36
test bl, 8
jne 0x455bc8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x455c36
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x455c02
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x455c36
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x455c60
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx ecx, byte [eax*8 + 0x52c2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52c150], eax
je 0x455ca6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x455b40
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x455cda
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x455cda
cmp eax, dword [ebp + 0x84]
jbe 0x455cda
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x4559f0
jmp 0x455d18
cmp dword [ebp + 0x88], 0
je 0x455d18
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x455d18
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
cmp dword [esp + 0x80], 0
jne 0x44d6ca
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b295
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b28b
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
add eax, 0xfffffffa
test edx, edx
je 0x456a6e
cmp eax, 0xf
ja case.0x456a77.9
jmp dword [eax*4 + 0x45b89c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x455e56
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x455dc9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x456a5b
jmp 0x455ded
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x455ded
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x455ded
cmp edx, 1
je 0x456a5b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x456a5b
cmp dword [ebp + 0x88], 0
je 0x455e28
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x455e28
cmp dword [ebp + 0x18], 0
jne 0x455e28
cmp dword [edi], 2
jne 0x455e28
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x455e28
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455e44
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x455e44
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x455e33
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x455d94
jmp 0x456a5b
cmp dword [ebp + 0x88], 0
je 0x456a5b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x456a5b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456a5b
jmp 0x44e636
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x455ee8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x456a5b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x455e56
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x455eda
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x455eda
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x455ec2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x455eb0
jmp 0x456a5b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x456a5b
cmp eax, dword [ebp + 0x84]
jbe 0x456a5b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456a5b
jmp 0x454c29
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x455f6f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x456a5b
cmp edx, dword [ebp + 0x84]
jbe 0x456a5b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456a5b
jmp 0x44e636
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x455e56
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45609a
test dl, 0x20
jne 0x455fce
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45609a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x455ff8
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x456098
test dl, 8
jne 0x456024
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x456098
test dl, 4
jne 0x45605c
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x456098
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x4560b6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x456a5b
cmp byte [eax], 0xa
jne 0x4560f0
inc eax
jmp 0x4560ed
cmp edx, 0xa
je 0x4560eb
cmp dword [ebp + 0x68], 0
jne 0x456a5b
cmp edx, 0xb
je 0x4560eb
cmp edx, 0xc
je 0x4560eb
cmp edx, 0x85
je 0x4560eb
cmp edx, 0x2028
je 0x4560eb
cmp edx, 0x2029
jne 0x456a5b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x455f90
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4561e8
test dl, 0x20
jne 0x45614a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4561e0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456169
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4561e0
and eax, 0x3f
test dl, 8
jne 0x456189
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4561e0
test dl, 4
jne 0x4561b2
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4561e0
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x45620e
je 0x45623c
cmp edx, 0xa0
ja 0x456206
je 0x45623c
cmp edx, 9
je 0x45623c
cmp edx, 0x20
jmp 0x456236
cmp edx, 0x1680
jmp 0x456236
cmp edx, 0x205f
ja 0x456230
je 0x45623c
cmp edx, 0x2000
jb 0x456238
cmp edx, 0x200a
jbe 0x45623c
cmp edx, 0x202f
jmp 0x456236
cmp edx, 0x3000
je 0x45623c
xor edx, edx
jmp 0x456241
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456114
jmp 0x456a5b
cmp dword [ebp + 0x88], 0
je 0x456a5b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x456a5b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x456a5b
jmp 0x44e636
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x456380
test dl, 0x20
jne 0x4562e2
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x456378
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456301
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x456378
and eax, 0x3f
test dl, 8
jne 0x456321
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x456378
test dl, 4
jne 0x45634a
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x456378
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x4563bf
je 0x4563ca
cmp edx, 0xa
jb 0x456394
cmp edx, 0xd
jbe 0x4563ca
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4562b0
jmp 0x456a5b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x456394
mov edx, 1
jmp 0x456396
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4564b7
test dl, 0x20
jne 0x456419
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4564af
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456438
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4564af
and eax, 0x3f
test dl, 8
jne 0x456458
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4564af
test dl, 4
jne 0x456481
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4564af
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4564cc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4563e3
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
jmp 0x456500
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4565d4
test dl, 0x20
jne 0x456536
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4565cc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456555
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4565cc
and eax, 0x3f
test dl, 8
jne 0x456575
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4565cc
test dl, 4
jne 0x45659e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4565cc
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x456a5b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456500
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
jmp 0x456620
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4566f4
test dl, 0x20
jne 0x456656
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4566ec
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456675
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4566ec
and eax, 0x3f
test dl, 8
jne 0x456695
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4566ec
test dl, 4
jne 0x4566be
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4566ec
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x456709
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456620
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x456807
test dl, 0x20
jne 0x456769
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4567ff
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x456788
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4567ff
and eax, 0x3f
test dl, 8
jne 0x4567a8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4567ff
test dl, 4
jne 0x4567d1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4567ff
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x456a5b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456733
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x456924
test dl, 0x20
jne 0x456886
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45691c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4568a5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45691c
and eax, 0x3f
test dl, 8
jne 0x4568c5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45691c
test dl, 4
jne 0x4568ee
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45691c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x456939
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456850
jmp 0x456a5b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456a5b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45626a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x456a37
test dl, 0x20
jne 0x456999
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x456a2f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4569b8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x456a2f
and eax, 0x3f
test dl, 8
jne 0x4569d8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x456a2f
test dl, 4
jne 0x456a01
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x456a2f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x456a5b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x456a5b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x456963
cmp dword [esp + 0x80], 0
je 0x459328
jmp 0x44d6ca
cmp eax, 0xf
ja case.0x456a77.9
jmp dword [eax*4 + 0x45b8dc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x456f07
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x456b34
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x456ac0
push 0
push edi
push eax
push edx
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x456f07
jmp 0x456ae4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x456ae4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x456ae4
cmp edx, 1
je 0x456f07
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x456f07
cmp dword [ebp + 0x88], 0
je 0x456b1f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x456b1f
cmp dword [ebp + 0x18], 0
jne 0x456b1f
cmp dword [edi], 2
jne 0x456b1f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x456b1f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x456a90
jmp 0x456f07
cmp dword [ebp + 0x88], 0
je 0x456f07
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x456f07
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456f07
jmp 0x44e636
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x456bb8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x456f07
cmp edx, dword [ebp + 0x84]
jbe 0x456f07
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456f07
jmp 0x44e636
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x456f07
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x456f07
jmp 0x456be0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456b34
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x456c0b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x456f07
cmp byte [eax], 0xa
jne 0x456c35
inc eax
jmp 0x456c32
cmp eax, 0xa
je 0x456c2f
cmp dword [ebp + 0x68], 0
jne 0x456f07
cmp eax, 0xb
je 0x456c2f
cmp eax, 0xc
je 0x456c2f
cmp eax, 0x85
jne 0x456f07
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x456be0
jmp 0x456f07
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x456f07
jmp 0x456c60
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456b34
mov al, byte [ecx]
cmp al, 9
je 0x456f07
cmp al, 0x20
je 0x456f07
cmp al, 0xa0
je 0x456f07
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x456c60
jmp 0x456f07
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x456f07
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456b34
mov al, byte [ecx]
cmp al, 9
je 0x456cce
cmp al, 0x20
je 0x456cce
cmp al, 0xa0
jne 0x456f07
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x456cb0
jmp 0x456f07
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x456f07
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456b34
mov al, byte [ecx]
cmp al, 0xa
jb 0x456d16
cmp al, 0xd
jbe 0x456f07
cmp al, 0x85
je 0x456f07
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x456cf4
jmp 0x456f07
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x456f07
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x456b34
mov al, byte [ecx]
cmp al, 0xa
jb 0x456f07
cmp al, 0xd
jbe 0x456d62
cmp al, 0x85
jne 0x456f07
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x456d40
jmp 0x456f07
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x456f07
jmp 0x456d90
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456b34
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x456f07
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x456d90
jmp 0x456f07
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x456f07
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456b34
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x456f07
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x456dd2
jmp 0x456f07
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x456f07
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456b34
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x456f07
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x456e14
jmp 0x456f07
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x456f07
jmp 0x456e60
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456b34
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x456f07
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x456e60
jmp 0x456f07
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x456f07
jmp 0x456ea0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456b34
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x456f07
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x456ea0
jmp 0x456f07
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x456f07
jmp 0x456ee0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x456b34
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x456f07
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x456ee0
cmp dword [esp + 0x80], 0
je 0x457f6a
jmp 0x44d6ca
mov esi, dword [esi]
test esi, esi
je 0x45b3e1
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x456f44
jmp dword [eax*4 + 0x45b91c]
cmp edi, 0xfffffc1b
je 0x457016
cmp edi, 0xfffffc20
jne 0x456f93
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x456f44.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x456f8f
cmp byte [ecx], 0x77
jne case.0x456f44.49
xor edi, edi
jmp 0x456f9b
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x457016
cmp dword [esi + 0x9c], 0x88
jb 0x456fe1
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45ad6a
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45ad60
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x45740c
mov edx, dword [esp + 0x8c]
jmp 0x456f34
cmp edi, 0xfffffc20
jne 0x4570d3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x457121
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45709e
cmp byte [ecx], 0x77
jne 0x457121
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x457137
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f34
test edi, edi
je 0x45709e
cmp edi, 0xfffffc1b
jne 0x457121
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x457113
cmp al, 0x77
jne 0x457104
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x4570f0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x45740c
mov edx, dword [esp + 0x8c]
jmp 0x456f34
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x457189
cmp eax, 0x81
je 0x457189
cmp dword [ebp + 0x6c], 0
jne 0x457193
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x457193
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x52bfc0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x44d650
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x45ad8c
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45ad82
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
cmp edi, 1
jne 0x457253
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4571f0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x457203
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x457239
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x457220
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x52bfc0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x44dafe.145
test edi, edi
je 0x457263
cmp edi, 0xfffffc20
jne case.0x456f44.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x457279
movzx eax, byte [edx + 0x52bfc0]
jmp 0x45727c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x457299
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x44d6d1
cmp dword [esi + 0x9c], 0x8c
jne 0x44d650
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45adae
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ada4
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
cmp edi, 1
je 0x457392
cmp edi, 0xfffffc19
je 0x457392
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x45733a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x456f44.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x457342
cmp byte [ecx], 0x77
jmp 0x45733c
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x457398
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45adc7
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45adbd
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x4573b1
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f34
cmp dword [esi + 0x58], 0
je 0x45a9ee
mov esi, dword [esi]
test esi, esi
je 0x45b386
mov edi, 1
jmp 0x456f34
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x45747d
je 0x457416
cmp edi, 0xfffffc19
je 0x457cb3
cmp edi, 0xfffffc1b
jle case.0x456f44.49
cmp edi, 0xfffffc1f
jle 0x45743e
mov esi, dword [esi]
test esi, esi
jne 0x456f34
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x45743e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x457490
cmp byte [ecx], 0x77
je 0x457490
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x457441
cmp dword [esi + 0x58], 0
je 0x4576c7
mov esi, dword [esi]
test esi, esi
je 0x45b386
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x456f34
mov eax, edi
sub eax, 0
je 0x457490
dec eax
je 0x457cb3
jmp case.0x456f44.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x457458
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45addd
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45add3
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x45aa1c
cmp edi, 0xfffffc19
je 0x45aa1c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x457549
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x44e4cb
push ecx
call dword [0xb26ea8]
add esp, 4
jmp 0x44e4cb
test edi, edi
je 0x457573
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x457564
push ecx
call dword [0xb26ea8]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x45740c
jmp 0x456f29
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x4575d9
cmp dword [esi + 0x58], 0
je 0x4575a4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45ae23
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45ae19
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x457529
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x457633
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45ae71
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ae67
mov esi, dword [esi]
test esi, esi
je 0x45b33b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x456f34
cmp al, 0x88
jb 0x45ab74
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45ae93
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45ae89
mov esi, dword [esi]
test esi, esi
je 0x45b33b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x45b393
mov edi, 0xfffffc1b
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
mov edx, dword [esi + 0x2c]
jmp 0x4576b0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x4576b0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44d6ca
test edi, edi
je 0x44ef44
jmp case.0x456f44.49
test edi, edi
je 0x45767f
jmp case.0x456f44.49
cmp edi, 0xfffffc1b
jne 0x4576fb
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4576fd
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4584eb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45aeb5
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45aeab
mov esi, dword [esi]
test esi, esi
je 0x45b33b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457770
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0045bb70
add esp, 0x14
test eax, eax
jns 0x4577d7
cmp eax, 0xfffffffe
jne 0x457799
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4592b1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4592b1
cmp eax, dword [ebp + 0x84]
jbe 0x4592b1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4504ee
jmp 0x4592b1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45aeda
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45aed0
mov esi, dword [esi]
test esi, esi
je 0x45b33b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x454656.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45aef3
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45aee9
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457897
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459396
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je 0x4592b1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45af0c
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af02
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x44e4cb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45af25
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af1b
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457971
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459396
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4579a1
cmp dword [esi + 0x94], ecx
je 0x4579a1
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f34
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45af3e
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af34
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
dec dword [esi + 8]
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45af57
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af4d
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457a51
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459396
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x4592b1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45af70
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af66
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
dec dword [esi + 8]
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45af89
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af7f
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457b1e
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459396
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x457cb3
cmp dword [esi + 0x94], ecx
je 0x457cb3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45afa2
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45af98
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45afbb
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45afb1
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457bf5
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459396
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x4592b1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45afd1
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45afc7
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45afe7
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45afdd
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457cc4
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f34
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x457d0b
cmp dword [ebp + 0x88], 0
je 0x457cf3
cmp ecx, dword [ebp + 0x84]
jbe 0x457cf3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4504ee
mov esi, dword [esi]
test esi, esi
je 0x45b348
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x456f34
cmp dword [esi + 0x7c], 0xc
jne 0x457d32
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x457d54
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x457d71
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x457d4d.15
jmp dword [eax*4 + 0x45ba28]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x457d32
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457d32
cmp edi, 1
je 0x457d71
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x457d32
mov esi, dword [esi]
test esi, esi
je 0x45b348
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x456f34
cmp dword [ebp + 0x88], 0
je case.0x457d4d.13
cmp edx, dword [ebp + 0x78]
jb case.0x457d4d.13
cmp dword [ebp + 0x18], 0
jne case.0x457d4d.13
cmp dword [ebp + 0x1c], 2
jne case.0x457d4d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x457d4d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4504ee
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45affd
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45aff3
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x457e0d.14
movzx eax, byte [ecx + 0x45ba78]
jmp dword [eax*4 + 0x45ba68]
cmp edx, dword [ebp + 0x78]
jae case.0x457d4d.13
cmp byte [edx], 0xa
jne case.0x457d4d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x457d4d.13
cmp dword [ebp + 0x68], 0
je case.0x457d4d.13
jmp case.0x457e0d.14
cmp ecx, 9
je case.0x457e0d.14
cmp ecx, 0x20
je case.0x457e0d.14
cmp ecx, 0xa0
jmp 0x457f0a
cmp ecx, 9
je case.0x457d4d.13
cmp ecx, 0x20
je case.0x457d4d.13
cmp ecx, 0xa0
je case.0x457d4d.13
jmp case.0x457e0d.14
cmp ecx, 0xa
jb case.0x457d4d.13
cmp ecx, 0xd
jbe case.0x457e0d.14
cmp ecx, 0x85
jmp 0x457f0a
cmp ecx, 0xa
jb case.0x457e0d.14
cmp ecx, 0xd
jbe case.0x457d4d.13
cmp ecx, 0x85
je case.0x457d4d.13
jmp case.0x457e0d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x457d4d.13
jmp case.0x457e0d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x457f0a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x457d4d.13
jmp case.0x457e0d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x457f0a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x457d4d.13
mov esi, dword [esi]
test esi, esi
je 0x45b348
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x456f34
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x457d4d.13
mov esi, dword [esi]
test esi, esi
je 0x45b348
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x456f34
mov esi, dword [esi]
test esi, esi
je case.default.0x456f44
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x457f6a
cmp eax, dword [esi + 0x30]
jbe 0x457f6a
cmp byte [eax], 0xa
jne 0x457f6a
cmp byte [eax - 1], 0xd
jne 0x457f6a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b013
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b009
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
cmp edi, 0xfffffc1a
jne 0x458001
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x457ff9
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x457fe0
jmp 0x458058
mov dword [esi + 8], eax
jmp 0x45807d
cmp edi, 0xfffffc20
jne 0x458035
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x456f44.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45803d
cmp byte [ecx], 0x77
jmp 0x458037
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x458071
cmp dword [esi + 0x5c], 0
jne 0x4576c7
cmp dword [esi + 0x54], 0
jne 0x4576c7
jmp 0x4592b1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x458093
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x45b055
push 0x134
call dword [0xb26eac]
mov edx, eax
add esp, 4
test edx, edx
jne 0x45b04b
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
mov esi, dword [esi]
test edi, edi
jne 0x457404
test esi, esi
je 0x45b3ad
mov edi, 0xfffffc1c
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45b3c7
mov edi, 0xfffffc1e
jmp 0x456f34
cmp edi, 1
je 0x458113
cmp edi, 0xfffffc19
jne 0x45812d
cmp dword [ebp + 0xac], 0
jne 0x45812d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x457121
cmp edi, 0xfffffc1f
jne 0x457121
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x458162
test dl, dl
je 0x45815e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x458162
add eax, 2
add ecx, 2
test dl, dl
jne 0x458142
xor eax, eax
jmp 0x458167
sbb eax, eax
or eax, 1
test eax, eax
jne 0x457121
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45b3c7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x456f34
cmp edi, 1
je 0x45819d
cmp edi, 0xfffffc19
jne case.0x456f44.51
cmp dword [ebp + 0xac], 0
jne case.0x456f44.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x457404
test esi, esi
je 0x45b3a0
mov edi, 0xfffffc1d
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45b3d4
mov edi, 0xfffffc1f
jmp 0x456f34
cmp edi, 1
je 0x458200
cmp edi, 0xfffffc19
jne case.0x456f44.54
cmp dword [ebp + 0xac], 0
jne case.0x456f44.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45b3ba
mov edi, 0xfffffc20
jmp 0x456f34
cmp edi, 0xfffffc1a
jne 0x4582a1
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x458299
mov edx, dword [esi + 0xc]
jmp 0x458280
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x458280
jmp 0x458308
mov dword [esi + 8], eax
jmp 0x44e202
cmp edi, 0xfffffc20
jne 0x4582d5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x456f44.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4582dd
cmp byte [ecx], 0x77
jmp 0x4582d7
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x44e202
cmp dword [esi + 0x5c], 0
jne 0x458348
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x44d6c6
cmp dword [esi + 0x5c], 0
jne 0x44d6c6
jmp 0x4592b1
cmp edi, 1
jne 0x458404
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x458381
cmp al, 0x77
jne 0x4592b1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x458381
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x44d6c6
cmp ecx, dword [esi + 0x38]
je 0x44d6c6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x45849d
test ecx, ecx
jne 0x45b0be
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b0b4
mov esi, dword [esi]
test esi, esi
je 0x45b33b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x456f34
cmp edi, 0xfffffc20
jne 0x458438
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x456f44.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x458440
cmp byte [ecx], 0x77
jmp 0x45843a
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x458370
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b099
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b08f
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test ecx, ecx
jne 0x45b0e3
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b0d9
mov esi, dword [esi]
test esi, esi
je 0x45b33b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x456f34
test edi, edi
je 0x45ab74
jmp case.0x456f44.49
test edi, edi
jne case.0x456f44.49
add dword [esi + 0xc], 3
jmp 0x44d650
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458519
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45861a
cmp ebx, 0xc0
jb 0x45861a
test bl, 0x20
jne 0x45855b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458617
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458585
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45861a
mov edx, dword [esi + 8]
test bl, 8
jne 0x4585ab
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45860e
test bl, 4
jne 0x4585da
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x45860e
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.0045cdf0
add esp, 0xc
test eax, eax
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b105
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b0fb
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x4592b1
cmp dword [esp + 0x8c], edi
je 0x4586a1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4586a1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x458695
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b11e
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b114
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4586fb
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4587f0
test bl, 0x20
jne 0x458735
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4587ed
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45875f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4587f0
mov edx, dword [esi + 8]
test bl, 8
jne 0x458788
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4587eb
test bl, 4
jne 0x4587b7
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x4587eb
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x458806
cmp dword [esi + 0x9c], 0x6e
jne 0x458823
jmp 0x44e4cb
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b137
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b12d
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x44e4cb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x45888c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x458880
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b150
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b146
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4588e6
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x458955
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x458915
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45891a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x458904
cmp edi, 0xfffffffc
je 0x458947
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x458952
cmp edi, 0xfffffffd
je 0x458947
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x458952
cmp edi, 0xfffffffe
je 0x458947
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x458952
cmp edi, 0xffffffff
je 0x458947
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x458952
mov eax, dword [esi + 0x88]
jmp 0x4589c0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x458a00
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x458a00
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x458987
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45898c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x458976
cmp edi, 0xfffffffc
je 0x4589bd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x458a00
cmp edi, 0xfffffffd
je 0x4589bd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x458a00
cmp edi, 0xfffffffe
je 0x4589bd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x458a00
cmp edi, 0xffffffff
je 0x4589bd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x458a00
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b169
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b15f
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
cmp dword [ebp + 0x88], 0
je case.0x454656.14
cmp ebx, dword [ebp + 0x78]
jb case.0x454656.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x454656.14
jmp 0x44e622
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458a4c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458a40
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b182
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b178
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458ab2
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x458bb2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x458aec
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x458baf
test dl, 0x10
jne 0x458b0e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x458bb2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x458b3e
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x458baf
test dl, 4
jne 0x458b74
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x458baf
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x457d71
cmp dword [esi + 0x94], edx
je 0x457d71
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x458bf9
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x457805
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x45b01d
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458c2c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458c20
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b19b
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b191
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458c92
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x458d87
test bl, 0x20
jne 0x458ccc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458d84
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458cf6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458d87
mov edx, dword [esi + 8]
test bl, 8
jne 0x458d1f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x458d82
test bl, 4
jne 0x458d4e
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x458d82
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b1b4
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b1aa
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458df0
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458de4
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b1cd
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b1c3
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458e56
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x458e92
cmp dword [ebp + 0x88], 0
je 0x4592b1
cmp ecx, dword [ebp + 0x84]
jbe 0x4592b1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x4504ee
jmp 0x4592b1
cmp dword [esi + 0x7c], 0xc
jne 0x458ee4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x458ebf
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045d460
add esp, 0x14
test eax, eax
jne 0x4592b1
jmp 0x458ee4
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x458ee4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x458ee4
cmp edi, 1
je 0x4592b1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4592b1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x458fcc
test dl, 0x20
jne 0x458f17
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x458fc9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x458f3e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x458fc7
test dl, 8
jne 0x458f64
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x458fc7
test dl, 4
jne 0x458f93
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x458fc7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x458fdb.15
jmp dword [eax*4 + 0x45baf4]
cmp dword [ebp + 0x88], 0
je case.0x458fdb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x458fdb.13
cmp dword [ebp + 0x18], 0
jne case.0x458fdb.13
cmp dword [ebp + 0x1c], 2
jne case.0x458fdb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x458fdb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x458fdb.13
jmp 0x4504ee
cmp edx, 0xd
ja 0x45905e
je 0x45904b
cmp edx, 0xa
je case.0x458fdb.13
jbe 0x4592b1
cmp edx, 0xc
jmp 0x459078
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x458fdb.13
cmp byte [eax], 0xa
jne case.0x458fdb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x458fdb.13
cmp edx, 0x85
je 0x45907e
cmp edx, 0x2027
jbe 0x4592b1
cmp edx, 0x2029
ja 0x4592b1
cmp dword [ebp + 0x68], 0
je case.0x458fdb.13
jmp 0x4592b1
cmp edx, 0x180e
ja 0x4590fd
je 0x4592b1
cmp edx, 0xa0
ja 0x4590f5
je 0x4592b1
cmp edx, 9
je 0x4592b1
cmp edx, 0x20
je 0x4592b1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4590e6
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x457805
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x45b01d
cmp edx, 0x1680
jmp 0x4590b1
cmp edx, 0x205f
ja 0x459127
je 0x4592b1
cmp edx, 0x2000
jb case.0x458fdb.13
cmp edx, 0x200a
jbe 0x4592b1
cmp edx, 0x202f
jmp 0x4590b1
cmp edx, 0x3000
jmp 0x4592ab
cmp edx, 0x180e
ja 0x459164
je case.0x458fdb.13
cmp edx, 0xa0
ja 0x45915c
je case.0x458fdb.13
cmp edx, 9
je case.0x458fdb.13
cmp edx, 0x20
jmp 0x459198
cmp edx, 0x1680
jmp 0x459198
cmp edx, 0x205f
ja 0x459192
je case.0x458fdb.13
cmp edx, 0x2000
jb 0x4592b1
cmp edx, 0x200a
jbe case.0x458fdb.13
cmp edx, 0x202f
jmp 0x459198
cmp edx, 0x3000
je case.0x458fdb.13
jmp 0x4592b1
cmp edx, 0x85
ja 0x4591c8
je 0x4592b1
cmp edx, 0xa
jb case.0x458fdb.13
cmp edx, 0xd
jbe 0x4592b1
jmp case.0x458fdb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x458fdb.13
jmp 0x4592b1
cmp edx, 0x85
ja 0x4591f8
je case.0x458fdb.13
cmp edx, 0xa
jb 0x4592b1
cmp edx, 0xd
jmp 0x459201
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x458fdb.13
jmp 0x4592b1
cmp edx, 0x100
jae case.0x458fdb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x458fdb.13
jmp 0x4592b1
cmp edx, 0x100
jae 0x4592b1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x4592ab
cmp edx, 0x100
jae case.0x458fdb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x458fdb.13
jmp 0x4592b1
cmp edx, 0x100
jae 0x4592b1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x4592ab
cmp edx, 0x100
jae case.0x458fdb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x458fdb.13
mov esi, dword [esi]
test esi, esi
je 0x45b348
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x456f34
cmp edx, 0x100
jae 0x4592b1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x458fdb.13
mov esi, dword [esi]
test esi, esi
je 0x45b348
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x456f34
mov esi, dword [esi]
test esi, esi
je case.default.0x456f44
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x456f34
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45930c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x459300
cmp dword [esi + 0x7c], 0x11
jne 0x459328
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x459328
cmp byte [eax], 0xa
jne 0x459328
dec eax
cmp byte [eax], 0xd
jne 0x459328
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b1e6
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b1dc
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45938e
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4593ae
cmp dword [ebp + 0x88], 0
je 0x457cb3
cmp eax, dword [ebp + 0x84]
jmp 0x459b09
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x4593ed
cmp ecx, 0xc0
jb 0x4593ed
test cl, 0x20
jne 0x4593c9
inc eax
jmp 0x4593ea
test cl, 0x10
jne 0x4593d3
add eax, 2
jmp 0x4593ea
test cl, 8
jne 0x4593dd
add eax, 3
jmp 0x4593ea
test cl, 4
jne 0x4593e7
add eax, 4
jmp 0x4593ea
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x459404
mov esi, dword [esi]
test esi, esi
je 0x45b348
xor edi, edi
jmp 0x456f34
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459433
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x457805
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x45b01d
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459467
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459561
cmp ebx, 0xc0
jb 0x459561
test bl, 0x20
jne 0x4594a9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45955e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4594d3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459561
mov edx, dword [esi + 8]
test bl, 8
jne 0x4594f9
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45955c
test bl, 4
jne 0x459528
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x45955c
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x459583
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp eax, 9
je 0x4595a8
cmp eax, 5
je 0x4595a8
cmp eax, 8
je 0x4595a8
xor eax, eax
jmp 0x4595ad
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b1ff
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b1f5
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459616
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45970c
cmp ebx, 0xc0
jb 0x45970c
test bl, 0x20
jne 0x459658
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459709
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459680
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45970c
mov edx, dword [esi + 8]
test bl, 8
jne 0x4596a6
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x459709
test bl, 4
jne 0x4596d5
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x459709
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45972e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b218
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b20e
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4597b8
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4598ae
cmp ebx, 0xc0
jb 0x4598ae
test bl, 0x20
jne 0x4597fa
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4598ab
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459822
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4598ae
mov edx, dword [esi + 8]
test bl, 8
jne 0x459848
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4598ab
test bl, 4
jne 0x459877
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4598ab
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x4598d0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b231
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b227
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459953
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459a49
cmp ebx, 0xc0
jb 0x459a49
test bl, 0x20
jne 0x459995
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459a46
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4599bd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x459a49
mov edx, dword [esi + 8]
test bl, 8
jne 0x4599e3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x459a46
test bl, 4
jne 0x459a12
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x459a46
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x459a6b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b24a
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b240
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459aee
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x459b37
cmp dword [ebp + 0x88], 0
je 0x457cb3
cmp edi, dword [ebp + 0x84]
jbe 0x457cb3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457cb3
mov esi, dword [esi]
test esi, esi
je 0x45b36c
mov edi, 0xfffffff4
jmp 0x456f34
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459c25
cmp ebx, 0xc0
jb 0x459c25
test bl, 0x20
jne 0x459b6d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459c22
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459b97
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459c25
mov edx, dword [esi + 8]
test bl, 8
jne 0x459bbd
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459c20
test bl, 4
jne 0x459bec
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x459c20
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x459c47
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459dd8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x459d77
cmp ebx, 0xc0
jb 0x459d77
test bl, 0x20
jne 0x459cab
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x459d6f
test bl, 0x10
jne 0x459cd0
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x459d6f
test bl, 8
jne 0x459d01
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x459d6f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x459d3b
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x459d6f
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x459d99
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx ecx, byte [eax*8 + 0x52c2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52c150], eax
je 0x459dd8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x459c70
cmp dword [ebp + 0x88], 0
je 0x459e05
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x459e05
cmp eax, dword [ebp + 0x84]
jbe 0x459e05
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44e636
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b263
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b259
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x459e6c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459e6c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x459e60
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44d650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b27c
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b272
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x459ec7
movzx ebx, byte [ecx]
jmp 0x459fb5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x459edc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x459ed0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x459fb5
test bl, 0x20
jne 0x459eff
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x459fad
test bl, 0x10
jne 0x459f1f
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x459fad
test bl, 8
jne 0x459f48
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x459fad
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x459f7d
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x459fad
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x459fd7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2ca]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x44d650
dec edi
cmp dword [esp + 0x8c], 0
jne 0x45a00f
movzx ebx, byte [edi]
jmp 0x45a0ce
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x45a021
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x45a017
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45a0ce
test bl, 0x20
jne 0x45a041
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x45a0c6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45a05e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45a0c6
and eax, 0x3f
test bl, 8
jne 0x45a079
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45a0c6
test bl, 4
jne 0x45a09d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45a0c6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a0f0
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx edx, byte [eax*8 + 0x52c2ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x52c150], eax
je 0x455d26
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x459ff0
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a151
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a24b
cmp ebx, 0xc0
jb 0x45a24b
test bl, 0x20
jne 0x45a193
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a248
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a1bd
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45a24b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a1e3
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45a246
test bl, 4
jne 0x45a212
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x45a246
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a26d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x45a294
cmp eax, 3
je 0x45a294
xor eax, eax
jmp 0x45a299
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b2ae
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b2a4
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a302
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a403
cmp ebx, 0xc0
jb 0x45a403
test bl, 0x20
jne 0x45a344
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a400
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a36e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45a403
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a394
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45a3f7
test bl, 4
jne 0x45a3c3
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x45a3f7
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x45a42e
cmp ebx, 0x40
je 0x45a42e
cmp ebx, 0x60
je 0x45a42e
cmp ebx, 0xa0
jb 0x45a422
cmp ebx, 0xd7ff
jbe 0x45a42e
cmp ebx, 0xe000
jae 0x45a42e
xor eax, eax
jmp 0x45a433
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44ee12
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b2c7
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b2bd
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a49c
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a59d
cmp ebx, 0xc0
jb 0x45a59d
test bl, 0x20
jne 0x45a4de
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a59a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a508
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45a59d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a52e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45a591
test bl, 4
jne 0x45a55d
and ebx, 3
shl ebx, 6
or ecx, ebx
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
lea eax, [edx + 4]
jmp 0x45a591
and ebx, 1
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x45a5e0
je case.0x45a600.8192
cmp ebx, 0x85
ja 0x45a5cc
je case.0x45a600.8192
cmp ebx, 9
jb case.0x45a600.8203
cmp ebx, 0xd
jbe case.0x45a600.8192
cmp ebx, 0x20
jmp 0x45a615
cmp ebx, 0xa0
je case.0x45a600.8192
cmp ebx, 0x1680
jmp 0x45a615
cmp ebx, 0x202f
ja 0x45a607
je case.0x45a600.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45a600.8203
movzx eax, byte [eax + 0x45bb3c]
jmp dword [eax*4 + 0x45bb34]
cmp ebx, 0x205f
je case.0x45a600.8192
cmp ebx, 0x3000
je case.0x45a600.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x52d948]
shl eax, 7
and ebx, 0x8000007f
jns 0x45a639
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
cmp dword [eax*4 + 0x52c0d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x45a66c
jmp 0x44e4cb
cmp dword [esi + 0x68], 0
jne 0x44ee12
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b2e0
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b2d6
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a6cc
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a7c2
cmp ebx, 0xc0
jb 0x45a7c2
test bl, 0x20
jne 0x45a70e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a7bf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a736
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45a7c2
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a75c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45a7bf
test bl, 4
jne 0x45a78b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45a7bf
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x52d948]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45a7e5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x52fb48]
movzx eax, byte [eax*8 + 0x52c2c9]
mov eax, dword [eax*4 + 0x52c0d8]
cmp eax, 1
je 0x45a811
cmp eax, 3
je 0x45a811
cmp ebx, 0x5f
je 0x45a811
xor eax, eax
jmp 0x45a816
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44e4cb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b2f9
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b2ef
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
test edi, edi
jne case.0x456f44.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45a87f
mov esi, dword [esi]
test esi, esi
je 0x45b348
jmp 0x456f34
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459af6
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45a97c
cmp ebx, 0xc0
jb 0x45a97c
test bl, 0x20
jne 0x45a8c1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45a979
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45a8e9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45a97c
mov edx, dword [esi + 8]
test bl, 8
jne 0x45a90f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45a972
test bl, 4
jne 0x45a93e
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45a972
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x52c188]
lea eax, [eax*4 + 0x52c188]
cmp ebx, ecx
jb 0x45a99e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x45a9e3
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x45a991
cmp dword [esi + 0x68], 0
je 0x44ee12
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45b312
push 0x134
call dword [0xb26eac]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45b308
mov esi, dword [esi]
test esi, esi
je 0x45b33b
lea edi, [eax - 6]
jmp 0x456f29
cmp dword [esi + 0x68], 0
je 0x45a9a8
jmp 0x44ee12
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x45a9f1
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x44d6ca
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45aa33
push ecx
call dword [0xb26ea8]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x44d6ca
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458829
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458635
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4589cb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x458bd0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458d99
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45940a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4595bc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45975e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4598f9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459a94
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a2a8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a672
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a825
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a9ae
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45a442
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4590bd
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459e0b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x44d650
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x52bfc0]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x44d640
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x45ab8f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x45ab8f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x45ab8f
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x44d640
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x45b026
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x45b026
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x45b026
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x45b026
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x45b026
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x45ade7
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x44d640
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x52bfc0]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x44d640
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x45b026
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x45b026
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x45b026
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x44d640
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x45ae36
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x45b026
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x45b026
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x45b026
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x45b01d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x45b01d
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret