Function at 0x44c450
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 0x44c4de
mov esi, dword [esi]
test esi, esi
je 0x45a181
mov edi, 0xfffffff8
jmp 0x455d89
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x44c4fa
mov esi, dword [esi]
test esi, esi
je 0x45a18e
mov edi, 0xffffffeb
jmp 0x455d89
cmp dword [ebp + 0x98], 2
jne 0x44c531
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 0x44c531
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.0x44c564.98
movzx eax, byte [edx + 0x45a39c]
jmp dword [eax*4 + 0x45a250]
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 0x4599e5
push 0x134
call dword [0x29f82d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4599df
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov edx, dword [esi + 4]
test edx, edx
jne 0x459a35
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459a2f
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov edx, dword [esi + 4]
test edx, edx
jne 0x459a53
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459a4d
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x459a71
push 0x134
call dword [0x29f82d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x459a6b
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov edx, dword [esi + 4]
test edx, edx
jne 0x459a86
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459a80
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x44c6be
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50cfb8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x44c531
mov edi, dword [esi + 4]
test edi, edi
jne 0x459aa4
push 0x134
call dword [0x29f82d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x459a9e
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov edx, dword [esi + 4]
test edx, edx
jne 0x459ab9
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459ab3
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x459ad7
push 0x134
call dword [0x29f82d8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x459ad1
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x4572c8
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.0x44c564.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 0x455e2b
mov dword [esi + 0x54], ebx
jmp 0x44cfcf
mov dword [esi + 0x54], ebx
jmp 0x44cff3
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 0x44c938
mov edi, dword [0x29fd528]
test edi, edi
je 0x44c924
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 0x44c8de
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 0x44c913
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
jns 0x44c924
mov esi, dword [esi]
test esi, esi
je 0x45626c
jmp 0x455d89
movzx eax, byte [0x50d02e]
add dword [esi + 0xc], eax
movzx eax, byte [0x50d02e]
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.0x44c95e.146
movzx eax, byte [eax + 0x45a458]
jmp dword [eax*4 + 0x45a440]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x44c95e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x44c997
cmp edx, dword [edi + 4]
je 0x44c997
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x4560c3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x4560c3
cmp dword [ebp + 0xa4], ebx
je case.0x44c95e.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.0x44c95e.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 0x4560c3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x44c9e0
jmp 0x4560c3
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 0x44ca44
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x44ca44
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x44c95e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x44c95e.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 0x4560c3
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 0x44ca99
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x44caa8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x44ca77
jmp 0x4560c3
mov dword [esi + 0x58], 1
jmp 0x4560c3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459aec
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ae6
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x44cb44
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44c526
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 0x44c526
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44cb93
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 0x44c526
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x44cbe6
cmp edx, 0x9f
je 0x44cbe6
cmp dword [ebp + 0xa4], ebx
jne 0x44cbe6
cmp dword [ebp + 0x5c], ebx
jne 0x44cbd5
cmp dword [ebp + 0x60], ebx
je 0x44cbe6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x44cbe6
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
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 0x45626c
jmp 0x455d89
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44cc3f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4561bd
mov dword [esi + 0x58], ebx
jmp 0x4561bd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x44cc6b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x45630b
mov dword [esi + 0x58], ebx
jmp 0x45630b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x44ccd2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x44ccb8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x4534b6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44ccb4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44cca8
test edx, edx
jg 0x44cc90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x44c526
mov dword [ebp + 0x84], eax
jmp 0x44c526
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 0x44ccb8
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d90
mov edi, dword [0x29fd528]
test edi, edi
je 0x44cddc
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 0x44cd96
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 0x44cdcb
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
jns 0x44cddc
mov esi, dword [esi]
test esi, esi
je 0x45626c
jmp 0x455d89
add dword [esi + 0xc], 6
jmp 0x44c52a
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 0x44ce06
xor edx, edx
jmp 0x44ce13
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 0x44ce33
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x44ce2d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x44ce94
mov ecx, dword [ecx]
test ecx, ecx
jne 0x44ce20
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 0x44cea8
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 fcn.00440a45
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4563f4
mov esi, dword [esi]
test esi, esi
je 0x45a1b2
mov edi, 0xffffffe6
jmp 0x455d89
shl eax, 2
push eax
call dword [0x29f82d0]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x44ce6e
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x44ced1
jmp 0x44c531
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459b27
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b21
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x44cf30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459b45
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b3f
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x44cf83
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44c531
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 0x44cfcf
cmp eax, 0x8b
jne 0x44cff3
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 0x44d010
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 0x456edd
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 0x44d08d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459ed7
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459ecd
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x44d0e8
cmp al, 0x81
je 0x44d0e8
mov dword [esi + 0x38], ebx
jmp 0x44d0f9
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 0x44d106
cmp al, 0x80
jbe 0x44d10a
cmp al, 0x82
jne 0x44d136
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 0x45a1e6
mov edi, 1
jmp 0x455d89
cmp al, 0x85
je 0x44d14a
cmp al, 0x8a
je 0x44d14a
cmp al, 0x86
je 0x44d14a
cmp al, 0x8b
jne 0x44d211
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 0x44d186
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x44d186
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x44d11c
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 0x44d1b5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x44d211
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x44d1d5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44d1d5
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 0x44d211
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x44d247
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 0x45a1bf
mov edi, 0xfffffc1a
jmp 0x455d89
cmp cl, 0x78
je 0x44d2c0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x44d2c0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x44d28e
test ecx, ecx
jne 0x459b66
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b60
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test ecx, ecx
jne 0x459b87
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b81
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x456527
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459ba5
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459b9f
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
cmp dword [ebp + 0x44], ebx
je case.0x44c564.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x44c564.1
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x44d3e8
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
cmp dword [ebp + 0x44], ebx
je 0x44d35a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44d35a
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x44dda4
cmp ecx, dword [ebp + 0x78]
je 0x44d3c0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x44d398
cmp ecx, edx
jbe 0x44d3c0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045c410
add esp, 0x14
test eax, eax
jne 0x44dda4
jmp 0x44d3c0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x44d3c0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44d3c0
cmp edi, 1
je 0x44dda4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44dda4
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d89
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x44d325
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x44c531
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44d4aa
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44d425
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x44dda4
jmp 0x44d449
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44d449
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44d449
cmp edx, 1
je 0x44dda4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44dda4
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x4534b6.14
cmp dword [ebp + 0x18], ebx
jne case.0x4534b6.14
cmp dword [edi], 2
jne case.0x4534b6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x4534b6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4534b6.14
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d89
cmp dword [ebp + 0x48], ebx
jne 0x44d32b
cmp dword [ebp + 0x88], ebx
je 0x44dda4
cmp ecx, dword [ebp + 0x84]
jbe 0x44dda4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44dda4
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d89
cmp dword [ebp + 0x48], ebx
jne 0x44d32b
cmp dword [ebp + 0x58], ebx
je case.0x44c564.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44d32b
cmp dword [ebp + 0x88], ebx
je 0x44d3e8
cmp eax, dword [ebp + 0x84]
jbe 0x44d3e8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44d3e8
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d89
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44d5b5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x44d57d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x44d5a5
jmp 0x44d449
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x44d449
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44d449
cmp edx, 1
je 0x44d5a5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x44d449
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x44d449
cmp dword [ebp + 0x88], ebx
je 0x44dda4
cmp ecx, dword [ebp + 0x84]
jbe 0x44dda4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44dda4
jmp 0x44d496
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44d8b7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x44d605
mov dword [esi + 0x5c], ebx
jmp 0x44d73e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x44d61a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x44d610
cmp edx, dword [ebp + 0x84]
jae 0x44d628
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44d6dc
test bl, 0x20
jne 0x44d650
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x44d6dc
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44d66a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x44d6d2
and eax, 0x3f
test bl, 8
jne 0x44d685
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x44d6d2
test bl, 4
jne 0x44d6a9
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 0x44d6d2
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 0x44d777
cmp ebx, 0x5f
jne 0x44d6f4
mov dword [esi + 0x5c], 1
jmp 0x44d73e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x44d716
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x44d788
cmp eax, 3
je 0x44d788
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x44d78f
cmp dword [ebp + 0x88], 0
je 0x44d76b
cmp edx, dword [ebp + 0x84]
jbe 0x44d76b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
mov dword [esi + 0x54], 0
jmp 0x44d9f5
cmp ebx, 0x100
jae 0x44d739
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44d739
mov eax, 1
jmp 0x44d73b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x44d839
test bl, 0x20
jne 0x44d7af
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x44d831
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44d7c9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x44d831
and eax, 0x3f
test bl, 8
jne 0x44d7e4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x44d831
test bl, 4
jne 0x44d808
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 0x44d831
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 0x44d89c
cmp ebx, 0x5f
jne 0x44d850
mov dword [esi + 0x54], 1
jmp 0x44d9f5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x44d872
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x44d8ad
cmp eax, 3
je 0x44d8ad
xor eax, eax
jmp 0x44d9f2
cmp ebx, 0x100
jae 0x44d895
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44d895
mov eax, 1
jmp 0x44d9f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x44d8c7
mov dword [esi + 0x5c], ebx
jmp 0x44d962
cmp eax, dword [ebp + 0x84]
ja 0x44d8d6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x44d94e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x44d8f0
mov dword [esi + 0x5c], 1
jmp 0x44d962
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d912
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x44d940
cmp eax, 3
je 0x44d940
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x44d95f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x44d95f
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 0x44d9a3
cmp dword [ebp + 0x88], ebx
je 0x44d99e
cmp eax, dword [ebp + 0x84]
jbe 0x44d99e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44d99e
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d90
mov dword [esi + 0x54], ebx
jmp 0x44d9f5
cmp dword [ebp + 0x54], ebx
je 0x44d9e2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x44d9b9
mov dword [esi + 0x54], 1
jmp 0x44d9f5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d9db
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x44d874
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 0x44da10
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x44da18
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x44c531
jmp 0x44d32b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44da5d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x44da88
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x44d32b
jmp 0x44da88
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x44da88
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x44da88
cmp edx, 1
je 0x44d32b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x44d32b
cmp dword [ebp + 0x88], ebx
je case.0x44c564.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x44c564.13
cmp dword [ebp + 0x18], ebx
jne case.0x44c564.13
cmp dword [ebp + 0x1c], 2
jne case.0x44c564.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x44c564.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44dae6
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4534b6.14
jmp 0x44d482
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x44d3e8
cmp eax, dword [ebp + 0x78]
jae 0x44d3e8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x44d3e8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x44db02
inc dword [esi + 0xc]
jmp 0x44c531
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44dac9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44c531
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x44db5d
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4534b6.14
jmp 0x44d482
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44dc59
cmp ebx, 0xc0
jb 0x44dc59
test bl, 0x20
jne 0x44db9a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44dc56
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44dbc4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44dc59
mov edx, dword [esi + 8]
test bl, 8
jne 0x44dbea
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 0x44dc4d
test bl, 4
jne 0x44dc19
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 0x44dc4d
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 0x44dda4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44dda4
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d90
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44dd8b
cmp ebx, 0xc0
jb 0x44dd8b
test bl, 0x20
jne 0x44dccc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44dd88
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44dcf6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44dd8b
mov edx, dword [esi + 8]
test bl, 8
jne 0x44dd1c
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 0x44dd7f
test bl, 4
jne 0x44dd4b
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 0x44dd7f
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 0x44cced
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x44cced
inc dword [esi + 0xc]
jmp 0x44c52a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44deb4
cmp ebx, 0xc0
jb 0x44deb4
test bl, 0x20
jne 0x44ddf5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44deb1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44de1f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44deb4
mov edx, dword [esi + 8]
test bl, 8
jne 0x44de45
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 0x44dea8
test bl, 4
jne 0x44de74
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 0x44dea8
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 0x44dda4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x44dc6c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44dfd4
cmp ebx, 0xc0
jb 0x44dfd4
test bl, 0x20
jne 0x44df15
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44dfd1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44df3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44dfd4
mov edx, dword [esi + 8]
test bl, 8
jne 0x44df65
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 0x44dfc8
test bl, 4
jne 0x44df94
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 0x44dfc8
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 0x44cced
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x44cced
inc dword [esi + 0xc]
jmp 0x44c52a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e0fd
cmp ebx, 0xc0
jb 0x44e0fd
test bl, 0x20
jne 0x44e03e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e0fa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e068
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e0fd
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e08e
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 0x44e0f1
test bl, 4
jne 0x44e0bd
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 0x44e0f1
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 0x44dda4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x44dc6c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e21d
cmp ebx, 0xc0
jb 0x44e21d
test bl, 0x20
jne 0x44e15e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e21a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e188
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e21d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e1ae
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 0x44e211
test bl, 4
jne 0x44e1dd
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 0x44e211
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 0x44cced
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x44cced
inc dword [esi + 0xc]
jmp 0x44c52a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e346
cmp ebx, 0xc0
jb 0x44e346
test bl, 0x20
jne 0x44e287
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e343
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e2b1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e346
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e2d7
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 0x44e33a
test bl, 4
jne 0x44e306
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 0x44e33a
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 0x44e3bf
je 0x44e361
cmp ebx, 0xa
je 0x44dda4
jbe 0x44dc72
cmp ebx, 0xc
jmp 0x44e3d9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44e3aa
cmp dword [ebp + 0x88], 0
je 0x44dda4
cmp eax, dword [ebp + 0x84]
jbe 0x44dda4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44dda4
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d90
cmp byte [eax], 0xa
jne 0x44dda4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x44c52a
cmp ebx, 0x85
je 0x44e3df
cmp ebx, 0x2027
jbe 0x44dc72
cmp ebx, 0x2029
ja 0x44dc72
cmp dword [ebp + 0x68], 0
jmp 0x44dc6c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e4f0
cmp ebx, 0xc0
jb 0x44e4f0
test bl, 0x20
jne 0x44e431
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e4ed
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e45b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e4f0
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e481
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 0x44e4e4
test bl, 4
jne 0x44e4b0
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 0x44e4e4
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 0x44e528
je 0x44cced
cmp ebx, 0xa0
ja 0x44e51d
je 0x44cced
cmp ebx, 9
je 0x44cced
cmp ebx, 0x20
jmp 0x44dd9e
cmp ebx, 0x1680
jmp 0x44dd9e
cmp ebx, 0x205f
ja 0x44e559
je 0x44cced
cmp ebx, 0x2000
jb 0x44dda4
cmp ebx, 0x200a
jbe 0x44cced
cmp ebx, 0x202f
jmp 0x44dd9e
cmp ebx, 0x3000
je 0x44cced
inc dword [esi + 0xc]
jmp 0x44c52a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e675
cmp ebx, 0xc0
jb 0x44e675
test bl, 0x20
jne 0x44e5b6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e672
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e5e0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e675
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e606
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 0x44e669
test bl, 4
jne 0x44e635
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 0x44e669
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 0x44e6ad
je 0x44dda4
cmp ebx, 0xa0
ja 0x44e6a2
je 0x44dda4
cmp ebx, 9
je 0x44dda4
cmp ebx, 0x20
jmp 0x44dc6c
cmp ebx, 0x1680
jmp 0x44dc6c
cmp ebx, 0x205f
ja 0x44e6de
je 0x44dda4
cmp ebx, 0x2000
jb 0x44dc72
cmp ebx, 0x200a
jbe 0x44dda4
cmp ebx, 0x202f
jmp 0x44dc6c
cmp ebx, 0x3000
jmp 0x44dc6c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e7f1
cmp ebx, 0xc0
jb 0x44e7f1
test bl, 0x20
jne 0x44e732
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e7ee
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e75c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e7f1
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e782
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 0x44e7e5
test bl, 4
jne 0x44e7b1
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 0x44e7e5
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 0x44e819
je 0x44dc72
cmp ebx, 0xa
jb 0x44dda4
cmp ebx, 0xd
jbe 0x44dc72
inc dword [esi + 0xc]
jmp 0x44c52a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44dda4
jmp 0x44dc72
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x44e935
cmp ebx, 0xc0
jb 0x44e935
test bl, 0x20
jne 0x44e876
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44e932
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e8a0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x44e935
mov edx, dword [esi + 8]
test bl, 8
jne 0x44e8c6
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 0x44e929
test bl, 4
jne 0x44e8f5
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 0x44e929
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 0x44e95a
je 0x44dda4
cmp ebx, 0xa
jb 0x44cced
cmp ebx, 0xd
jbe 0x44dda4
jmp 0x44cced
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x44cced
inc dword [esi + 0xc]
jmp 0x44c52a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44ea6d
cmp ebx, 0xc0
jb 0x44ea6d
test bl, 0x20
jne 0x44e9b9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ea6a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44e9e1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x44ea6d
mov edx, dword [esi + 8]
test bl, 8
jne 0x44ea07
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 0x44ea6a
test bl, 4
jne 0x44ea36
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 0x44ea6a
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 + 0x50e940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ea90
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 + 0x510b40]
cmp eax, 0xa
ja case.default.0x44eaaa
jmp dword [eax*4 + 0x45a46c]
cmp dword [esi + 0x9c], 0xf
jne 0x44c526
jmp 0x44d32b
mov al, byte [edx*8 + 0x50d2c1]
cmp al, 9
je 0x44eada
cmp al, 5
je 0x44eada
cmp al, 8
je 0x44eada
xor ecx, ecx
jmp 0x44eadf
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x44c526
jmp 0x44d32b
movzx ecx, byte [edx*8 + 0x50d2c1]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x50d0d0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x44c526
jmp 0x44d32b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50d2c1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x44c526
jmp 0x44d32b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50d2c0]
jmp 0x44eb3b
movzx eax, byte [edx*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x44eada
cmp eax, 3
je 0x44eada
xor ecx, ecx
jmp 0x44eadf
cmp ebx, 0x180e
ja 0x44ebd3
je case.0x44eaaa.0
cmp ebx, 0x85
ja 0x44ebbf
je case.0x44eaaa.0
cmp ebx, 9
jb case.0x44ebf3.8203
cmp ebx, 0xd
jbe case.0x44eaaa.0
cmp ebx, 0x20
jmp 0x44ec0c
cmp ebx, 0xa0
je case.0x44eaaa.0
cmp ebx, 0x1680
jmp 0x44ec0c
cmp ebx, 0x202f
ja 0x44ebfa
je case.0x44eaaa.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x44ebf3.8203
movzx eax, byte [ebx + 0x45a4a0]
jmp dword [eax*4 + 0x45a498]
cmp ebx, 0x205f
je case.0x44eaaa.0
cmp ebx, 0x3000
je case.0x44eaaa.0
movzx eax, byte [edx*8 + 0x50d2c1]
xor ecx, ecx
cmp dword [eax*4 + 0x50d0d0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x44eb47
movzx eax, byte [edx*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x44eada
cmp eax, 3
je 0x44eada
cmp ebx, 0x5f
je 0x44eada
xor ecx, ecx
jmp 0x44eadf
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x50d180]
lea eax, [eax*4 + 0x50d180]
cmp ebx, ecx
jb 0x44ec8d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x44ec9f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x44ec80
cmp dword [esi + 0x9c], 0x10
jne 0x44c526
jmp 0x44d32b
cmp dword [esi + 0x9c], 0x10
je 0x44c526
jmp 0x44d32b
cmp ebx, 0x24
je 0x44eada
cmp ebx, 0x40
je 0x44eada
cmp ebx, 0x60
je 0x44eada
cmp ebx, 0xa0
jb 0x44ece0
cmp ebx, 0xd7ff
jbe 0x44eada
cmp ebx, 0xe000
jae 0x44eada
xor ecx, ecx
jmp 0x44eadf
mov esi, dword [esi]
test esi, esi
je case.default.0x455da4
mov edi, 0xfffffff2
jmp 0x455d89
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x44ee12
cmp ebx, 0xc0
jb 0x44ee12
test bl, 0x20
jne 0x44ed50
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x44ee0f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44ed7f
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 0x44ee12
mov edx, dword [esi + 8]
test bl, 8
jne 0x44eda5
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 0x44ee08
test bl, 4
jne 0x44edd4
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 0x44ee08
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ee34
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44efc6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x44ef5e
cmp ebx, 0xc0
jb 0x44ef5e
test bl, 0x20
jne 0x44ee95
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x44ef56
test bl, 0x10
jne 0x44eeba
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 0x44ef56
test bl, 8
jne 0x44eee8
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 0x44ef56
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x44ef22
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 0x44ef56
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x44ef80
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx ecx, byte [eax*8 + 0x50d2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d148], eax
je 0x44efc6
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 0x44ee60
cmp dword [ebp + 0x88], 0
je 0x44dda4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x44dda4
cmp eax, dword [ebp + 0x84]
jbe 0x44dda4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44dda4
jmp 0x44d496
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 0x44f0f4
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 0x44f084
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x44f08d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x44f060
jmp 0x44f0f4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x44f0f4
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 0x44f0e4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x44f0e4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x44f0ee
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.0x44f10f
movzx eax, byte [eax + 0x45a4d4]
jmp dword [eax*4 + 0x45a4cc]
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 + 0x50c610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c61c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44f19d
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x44f19d
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 0x44f199
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x44c531
jns 0x44f1c1
cmp dword [esi + 0x90], 0
je 0x44c531
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44f1ff
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.0045a9d0
add esp, 0x14
test eax, eax
js 0x44f231
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x44f1d0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44c531
cmp dword [esp + 0x80], 0
je 0x44f25a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x456642
cmp eax, 0xfffffffe
jne 0x44f23c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4534b6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4534b6.14
jmp 0x44dad5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x44f270
cmp edi, dword [esi + 0x8c]
jge 0x456691
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0045a9d0
add esp, 0x14
test eax, eax
js 0x44f2a5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x44f270
cmp eax, 0xfffffffe
jne 0x456691
cmp dword [ebp + 0x88], 0
je 0x456691
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x456691
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456691
jmp 0x44d496
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0045a9d0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x44f369
cmp eax, 0xfffffffe
jne 0x44f315
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x456c6d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x456c6d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x456c6d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x456c6d.14
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x455d94
add dword [esi + 8], eax
jmp 0x44c52a
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.0x44f397
movzx eax, byte [eax + 0x45a4e4]
jmp dword [eax*4 + 0x45a4dc]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44f3ba
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x44f3c5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50c610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c61c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44f45c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x44f45c
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 0x44f442
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x44f45c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44f5bc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x44f611
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x44f56c
test bl, 0x20
jne 0x44f4ba
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x44f569
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x44f4e1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x44f567
test bl, 8
jne 0x44f504
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 0x44f567
test bl, 4
jne 0x44f533
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 0x44f567
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 0x44f57d
cmp dword [esi + 0x9c], 0x6e
jmp 0x44f592
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.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x44f480
jmp 0x44f603
cmp dword [ebp + 0x88], 0
je case.0x4534b6.14
mov eax, dword [esi + 8]
jmp 0x44dad5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44f60a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5a7
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.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f5d0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c52a
test ebx, ebx
je 0x44f63a
test edx, edx
jne 0x4598a7
mov dword [esi + 0x84], eax
jmp 0x45672b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x44f7f2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x44f7df
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x44f7b7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x44f766
test bl, 0x20
jne 0x44f6ab
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x44f766
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x44f6d3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x44f75c
and eax, 0x3f
test bl, 8
jne 0x44f6f9
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 0x44f75c
test bl, 4
jne 0x44f728
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 0x44f75c
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 0x44f777
cmp dword [esi + 0x9c], 0x6e
jmp 0x44f78c
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 0x44f7df
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 0x44f661
jmp 0x44f7df
cmp dword [ebp + 0x88], 0
je 0x44f7df
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44f7df
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x4576ec
jmp 0x44c52a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x44f86a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x44f842
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 0x44f86a
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 0x44f801
jmp 0x44f86a
cmp dword [ebp + 0x88], 0
je 0x44f86a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44f86a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x45676b
jmp 0x44c52a
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.0x44f8b5
movzx eax, byte [eax + 0x45a4f8]
jmp dword [eax*4 + 0x45a4f0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x44f8d8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x44f8e3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50c610]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c61c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x44f97a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x44f97a
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 0x44f960
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x44f97a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x44fab5
jmp 0x44f990
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x44fa8a
cmp edx, 0xc0
jb 0x44fa8a
test dl, 0x20
jne 0x44f9d8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x44fa87
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x44f9ff
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x44fa85
test dl, 8
jne 0x44fa22
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 0x44fa85
test dl, 4
jne 0x44fa51
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 0x44fa85
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.0045bc50
add esp, 0xc
test eax, eax
je case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x44f990
jmp 0x44fabc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c531
cmp dword [esp + 0x84], 0
jne 0x4598b8
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 0x44fc4d
jmp 0x44fb00
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x44fc23
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x44fbeb
cmp edx, 0xc0
jb 0x44fbeb
test dl, 0x20
jne 0x44fb4c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x44fbeb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x44fb6b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x44fbe1
and eax, 0x3f
test dl, 8
jne 0x44fb8b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x44fbe1
test dl, 4
jne 0x44fbb4
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 0x44fbe1
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.0045bc50
add esp, 0xc
test eax, eax
je 0x44fc4d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x44fb00
jmp 0x44fc4d
cmp dword [ebp + 0x88], 0
je 0x44fc46
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x44fc46
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x44d496
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x44c531
jmp 0x457501
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x44fe39
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 0x44fdc0
test al, 0x20
jne 0x44fcc0
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 0x44fdc0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44fcfa
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 0x44fdc0
test al, 8
jne 0x44fd36
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 0x44fdc0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44fd7b
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 0x44fdc0
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 0x44fdf9
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
cmp edx, edi
jb case.0x4534b6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4534b6.14
jmp 0x44d482
test ecx, ecx
jle 0x44fe2e
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.0x4534b6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x44fe00
dec dword [esi + 0x88]
jmp 0x44c52a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x44fe86
cmp dword [ebp + 0x88], ebx
je 0x44cced
cmp edi, dword [ebp + 0x84]
jbe 0x44cced
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x44cced
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d90
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 0x45019b
jmp 0x44d32b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44db40
cmp dword [esp + 0x8c], ebx
je 0x45017c
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 0x45000b
test al, 0x20
jne 0x44ff0b
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 0x45000b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x44ff45
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 0x45000b
test al, 8
jne 0x44ff81
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 0x45000b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x44ffc6
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 0x45000b
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 0x450039
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x44d32b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x44c52a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45011b
test bl, 0x20
jne 0x450069
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x450118
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x450090
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x450116
test bl, 8
jne 0x4500b3
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 0x450116
test bl, 4
jne 0x4500e2
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 0x450116
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 0x44c52a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x450155
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
mov eax, dword [eax*8 + 0x50d2c4]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x44c531
jmp 0x44d32b
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 0x44d32b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x44c52a
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 0x4502cd
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 0x450204
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x45020f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4502cd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4502d4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x4502d4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x4502d4
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 + 0x50c610]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50c61c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4502cd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x450748
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 0x45041b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x450331
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 0x45041b
test bl, 0x10
jne 0x450366
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 0x45041b
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 0x4503a4
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 0x45041b
test bl, 4
jne 0x4503dd
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 0x45041b
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 0x450757
cmp dword [esi + 0x9c], 0x2e
jb 0x45048c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x450463
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
mov ecx, dword [eax*8 + 0x50d2c4]
add ecx, edi
cmp ecx, edi
je 0x45048c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0045bbf0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x450493
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x4505c6
jmp 0x4504b0
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 0x450534
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4504e8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4504f1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4504d7
cmp edi, 0xfffffffc
je 0x4505a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45052a
cmp edi, 0xfffffffd
je 0x4505a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45052a
cmp edi, 0xfffffffe
je 0x4505a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45052a
cmp edi, 0xffffffff
je 0x4505a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4505a8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x44f23c
sub ecx, ebx
cmp edi, ecx
ja 0x44f23c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x450566
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45056b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x450555
cmp edi, 0xfffffffc
je 0x4505a8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44f23c
cmp edi, 0xfffffffd
je 0x4505a8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44f23c
cmp edi, 0xfffffffe
je 0x4505a8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44f23c
cmp edi, 0xffffffff
je 0x4505a8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44f23c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x4504b0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44c531
cmp dword [esp + 0x84], 0
jne 0x4598c9
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 0x450735
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 0x45068c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x450648
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x450651
add ecx, 4
add edx, 4
sub edi, 4
jae 0x450637
cmp edi, 0xfffffffc
je 0x4506e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x450682
cmp edi, 0xfffffffd
je 0x4506e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x450682
cmp edi, 0xfffffffe
je 0x4506e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x450682
cmp edi, 0xffffffff
je 0x4506e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4506e8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x450708
sub ecx, ebx
cmp edi, ecx
ja 0x450708
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4506b6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4506bb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4506a5
cmp edi, 0xfffffffc
je 0x4506e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x450708
cmp edi, 0xfffffffd
je 0x4506e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x450708
cmp edi, 0xfffffffe
je 0x4506e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x450708
cmp edi, 0xffffffff
je 0x4506e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x450708
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x450610
jmp 0x450735
cmp dword [ebp + 0x88], 0
je 0x450735
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x450735
cmp eax, dword [ebp + 0x84]
jbe 0x450735
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x4578ac
jmp 0x44c52a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x45084f
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 0x4507b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5a7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4507a7
cmp dword [esi + 0x94], ecx
jne case.0x4534b6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x450784
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c52a
cmp dword [esp + 0x84], 0
je 0x4507db
mov dword [esi + 0x84], eax
jmp 0x45680b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x450842
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45081a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45080b
cmp dword [esi + 0x94], ecx
jne 0x450842
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4507f0
jmp 0x450842
cmp dword [ebp + 0x88], 0
je 0x450842
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x450842
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
test edi, edi
je 0x45684b
jmp 0x44c52a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45088a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x450860
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x44c531
cmp dword [esp + 0x84], 0
je 0x4508b8
mov dword [esi + 0x84], eax
jmp 0x4568d8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45091c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4508f4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x45091c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4508d0
jmp 0x45091c
cmp dword [ebp + 0x88], 0
je 0x45091c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45091c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x456918
jmp 0x44c531
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x450954
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x4534b6.14
jmp 0x44d482
test edi, edi
je 0x450bcc
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 0x450a55
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x450992
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x450a52
test bl, 0x10
jne 0x4509b3
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 0x450a52
test bl, 8
jne 0x4509de
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 0x450a55
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x450a17
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 0x450a52
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 0x450b48
test dl, 0x20
jne 0x450a8f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x450b3e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x450ab6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x450b3c
test dl, 8
jne 0x450ad9
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 0x450b3c
test dl, 4
jne 0x450b08
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 0x450b3c
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 0x450b65
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x44c531
jmp 0x44d32b
cmp ebx, 0x7f
jbe 0x450ba2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x450b8d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
mov ecx, dword [eax*8 + 0x50d2c4]
add ecx, ebx
jmp 0x450ba9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x44d32b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x44c531
jmp 0x44d32b
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.0x4534b6.14
cmp dword [esi + 0x9c], 0x20
jne 0x45019b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4534b6.14
add dword [esi + 0xc], 2
jmp 0x44c52a
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 0x450d66
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 0x450c6b
cmp al, 0x4f
je 0x450c6b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x450d66
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x450d66
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x450d66
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x450d66
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x450d66
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 0x450d66
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 + 0x50c610]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50c61c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x450d66
mov dword [esi + 0x8c], 0x7fffffff
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 0x450ec1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x450ec1
test al, 0x20
jne 0x450db8
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 0x450ec1
test al, 0x10
jne 0x450deb
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 0x450ec1
test al, 8
jne 0x450e2d
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 0x450ec1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x450e78
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 0x450eba
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 0x4512e5
test edx, edx
je 0x450f1c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x450f1c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e940]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x450f00
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
mov eax, dword [eax*8 + 0x50d2c4]
add eax, edi
jmp 0x450f29
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x451070
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4510bb
jmp 0x450f50
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x451049
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x450f8a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x451046
test cl, 0x10
jne 0x450fab
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 0x451046
test cl, 8
jne 0x450fd5
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 0x451046
test cl, 4
jne 0x45100b
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 0x451046
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.0x4534b6.14
cmp dword [esi + 0x94], ecx
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x450f50
jmp 0x4510b4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x4510b4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5a7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4534b6.14
cmp dword [esi + 0x94], ecx
je case.0x4534b6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x451080
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c52a
test ebx, ebx
je 0x4510e4
test edx, edx
jne 0x4598da
mov dword [esi + 0x84], eax
jmp 0x4569af
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45126d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45125a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x451232
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45120e
test dl, 0x20
jne 0x451142
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45120e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45116c
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 0x45120c
test dl, 8
jne 0x451198
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 0x45120c
test dl, 4
jne 0x4511d0
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 0x45120c
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 0x45125a
cmp dword [esi + 0x94], edx
je 0x45125a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451104
jmp 0x45125a
cmp dword [ebp + 0x88], 0
je 0x45125a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45125a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x457a8c
jmp 0x44c52a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4512d2
jmp 0x451280
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4512aa
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4512d2
cmp dword [esi + 0x94], ecx
je 0x4512d2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x451280
jmp 0x4512d2
cmp dword [ebp + 0x88], 0
je 0x4512d2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4512d2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x4569ef
jmp 0x44c52a
test edx, edx
je 0x451407
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x451445
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4513ec
test dl, 0x20
jne 0x45133a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4513e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x451361
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4513e7
test dl, 8
jne 0x451384
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 0x4513e7
test dl, 4
jne 0x4513b3
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 0x4513e7
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.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x451300
jmp 0x45143e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x451445
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451414
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x44c52a
cmp dword [esp + 0x84], 0
je 0x451474
test edx, edx
jne 0x4598ef
mov dword [esi + 0x84], eax
jmp 0x456a7c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x4515f8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4515e5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4515bd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4515a1
test dl, 0x20
jne 0x4514d2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4515a1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4514fc
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 0x45159f
test dl, 8
jne 0x45152b
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 0x45159f
test dl, 4
jne 0x451563
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 0x45159f
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 0x4515e5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x451494
jmp 0x4515e5
cmp dword [ebp + 0x88], 0
je 0x4515e5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4515e5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x457c50
jmp 0x44c52a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x451652
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45162a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x451652
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x451606
jmp 0x451652
cmp dword [ebp + 0x88], 0
je 0x451652
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x451652
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x456abc
jmp 0x44c52a
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 0x4517a4
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 0x4517a4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4517a4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4517a4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4517a4
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 0x4517a4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x50c5bb]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50c5c7]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4517a4
mov dword [esi + 0x8c], 0x7fffffff
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 0x4517c6
cmp ecx, 0xf
je 0x4517c6
mov dword [esi + 0x60], 0xffffffff
jmp 0x4517e9
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 0x45378b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x452598
cmp eax, 0xa
ja case.default.0x44eaaa
jmp dword [eax*4 + 0x45a504]
cmp dword [esi + 0x68], ebx
jne 0x44d32b
mov edx, 1
cmp ecx, edx
jl 0x45378b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45186f
cmp ecx, 0xc0
jb 0x45186f
test cl, 0x20
jne 0x45184b
inc eax
jmp 0x45186c
test cl, 0x10
jne 0x451855
add eax, 2
jmp 0x45186c
test cl, 8
jne 0x45185f
add eax, 3
jmp 0x45186c
test cl, 4
jne 0x451869
add eax, 4
jmp 0x45186c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x451828
jmp 0x45378b
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
mov eax, dword [esi + 8]
jmp 0x44dad5
mov edi, 1
cmp ecx, edi
jl 0x45378b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45199a
cmp ebx, 0xc0
jb 0x45199a
test bl, 0x20
jne 0x4518e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451997
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45190f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x451995
test bl, 8
jne 0x451932
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 0x451995
test bl, 4
jne 0x451961
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 0x451995
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4519bc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp eax, 9
je 0x4519e1
cmp eax, 5
je 0x4519e1
cmp eax, 8
je 0x4519e1
xor eax, eax
jmp 0x4519e6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4518a0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x45378b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451b08
cmp ebx, 0xc0
jb 0x451b08
test bl, 0x20
jne 0x451a58
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451b05
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451a7f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451b05
test bl, 8
jne 0x451aa2
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 0x451b05
test bl, 4
jne 0x451ad1
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 0x451b05
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x451b2a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451a10
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x45378b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451c6b
cmp ebx, 0xc0
jb 0x451c6b
test bl, 0x20
jne 0x451bbb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451c68
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451be2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451c68
test bl, 8
jne 0x451c05
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 0x451c68
test bl, 4
jne 0x451c34
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 0x451c68
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x451c8d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451b73
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x45378b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451dc8
cmp ebx, 0xc0
jb 0x451dc8
test bl, 0x20
jne 0x451d18
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451dc5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451d3f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x451dc5
test bl, 8
jne 0x451d62
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 0x451dc5
test bl, 4
jne 0x451d91
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 0x451dc5
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x451dea
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451cd0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x45378b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x451f2a
cmp ebx, 0xc0
jb 0x451f2a
test bl, 0x20
jne 0x451e78
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x451f27
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x451e9f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x451f25
test bl, 8
jne 0x451ec2
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 0x451f25
test bl, 4
jne 0x451ef1
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 0x451f25
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x451f4c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x451f73
cmp eax, 3
je 0x451f73
xor eax, eax
jmp 0x451f78
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451e30
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x45378b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45209a
cmp ebx, 0xc0
jb 0x45209a
test bl, 0x20
jne 0x451fe8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452097
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45200f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x452095
test bl, 8
jne 0x452032
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 0x452095
test bl, 4
jne 0x452061
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 0x452095
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 0x4520dd
je case.0x4520f9.8192
cmp ebx, 0x85
ja 0x4520c9
je case.0x4520f9.8192
cmp ebx, 9
jb case.0x4520f9.8203
cmp ebx, 0xd
jbe case.0x4520f9.8192
cmp ebx, 0x20
jmp 0x45210e
cmp ebx, 0xa0
je case.0x4520f9.8192
cmp ebx, 0x1680
jmp 0x45210e
cmp ebx, 0x202f
ja 0x452100
je case.0x4520f9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4520f9.8203
movzx eax, byte [eax + 0x45a538]
jmp dword [eax*4 + 0x45a530]
cmp ebx, 0x205f
je case.0x4520f9.8192
cmp ebx, 0x3000
je case.0x4520f9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x452132
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp dword [eax*4 + 0x50d0d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4534b6.14
jmp 0x452166
cmp dword [esi + 0x68], 0
jne case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x451fa0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x45378b
jmp 0x452190
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x452288
cmp ebx, 0xc0
jb 0x452288
test bl, 0x20
jne 0x4521d8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x452285
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4521ff
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x452285
test bl, 8
jne 0x452222
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 0x452285
test bl, 4
jne 0x452251
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 0x452285
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 + 0x50e940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4522ab
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x4522d7
cmp eax, 3
je 0x4522d7
cmp ebx, 0x5f
je 0x4522d7
xor eax, eax
jmp 0x4522dc
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534b6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x452190
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x45378b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x4523fc
cmp edx, 0xc0
jb 0x4523fc
test dl, 0x20
jne 0x45234c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4523f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452373
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4523f9
test dl, 8
jne 0x452396
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 0x4523f9
test dl, 4
jne 0x4523c5
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 0x4523f9
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 + 0x50d180]
lea eax, [eax*4 + 0x50d180]
cmp edx, ecx
jb 0x45241e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45243a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x452411
cmp dword [esi + 0x68], 0
je case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452304
jmp 0x45378b
cmp dword [esi + 0x68], 0
jne case.0x4534b6.14
jmp 0x452428
mov ebx, 1
cmp ecx, ebx
jl 0x45378b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45254d
cmp edx, 0xc0
jb 0x45254d
test dl, 0x20
jne 0x45249b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45254a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4524c2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452548
test dl, 8
jne 0x4524e5
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 0x452548
test dl, 4
jne 0x452514
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 0x452548
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 0x452578
cmp edx, 0x40
je 0x452578
cmp edx, 0x60
je 0x452578
cmp edx, 0xa0
jb 0x45256c
cmp edx, 0xd7ff
jbe 0x452578
cmp edx, 0xe000
jae 0x452578
xor eax, eax
jmp 0x45257d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452453
jmp 0x45378b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4528c3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45378b
jmp 0x4525c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x44f5a7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4526c0
cmp ebx, 0xc0
jb 0x4526c0
test bl, 0x20
jne 0x452609
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4526bd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x452630
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4526b6
test bl, 8
jne 0x452653
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 0x4526b6
test bl, 4
jne 0x452682
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 0x4526b6
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4526e2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c2]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45287d
jmp 0x452710
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45280e
cmp ebx, 0xc0
jb 0x45280e
test bl, 0x20
jne 0x452745
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x452806
test bl, 0x10
jne 0x45276a
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 0x452806
test bl, 8
jne 0x452798
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 0x452806
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4527d2
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 0x452806
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x452830
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx ecx, byte [eax*8 + 0x50d2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d148], eax
je 0x452876
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 0x452710
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4528aa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4528aa
cmp eax, dword [ebp + 0x84]
jbe 0x4528aa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x4525c0
jmp 0x45378b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45338f
cmp eax, 0xf
ja case.0x4558d7.9
jmp dword [eax*4 + 0x45a564]
mov ebx, 1
cmp ecx, ebx
jl 0x453792
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44f5a7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x452927
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne case.0x4534b6.14
jmp 0x45294b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45294b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45294b
cmp edx, 1
je case.0x4534b6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4534b6.14
cmp dword [ebp + 0x88], 0
je 0x452986
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x452986
cmp dword [ebp + 0x18], 0
jne 0x452986
cmp dword [edi], 2
jne 0x452986
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x452986
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4529a2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4529a2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x452991
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4528f2
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45187d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4529f8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4529f8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4529e0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4529c4
jmp 0x45378b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x44d32b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x453792
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452b1c
test dl, 0x20
jne 0x452a6a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452b19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452a91
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452b17
test dl, 8
jne 0x452ab4
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 0x452b17
test dl, 4
jne 0x452ae3
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 0x452b17
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 0x452b40
je 0x452b2d
cmp edx, 0xa
je 0x452b61
lea eax, [edx - 0xb]
jmp 0x452b4e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x452b61
cmp byte [eax], 0xa
jne 0x452b61
inc eax
mov dword [esi + 8], eax
jmp 0x452b61
cmp edx, 0x85
je 0x452b57
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4534b6.14
cmp dword [ebp + 0x68], 0
jne case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452a30
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x453792
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452c6c
test dl, 0x20
jne 0x452bba
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452c69
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452be1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452c67
test dl, 8
jne 0x452c04
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 0x452c67
test dl, 4
jne 0x452c33
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 0x452c67
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 0x452c9e
je case.0x4534b6.14
cmp edx, 0xa0
ja 0x452c96
je case.0x4534b6.14
cmp edx, 9
je case.0x4534b6.14
cmp edx, 0x20
jmp 0x452cce
cmp edx, 0x1680
jmp 0x452cce
cmp edx, 0x205f
ja 0x452cc8
je case.0x4534b6.14
cmp edx, 0x2000
jb 0x452cd4
cmp edx, 0x200a
jbe case.0x4534b6.14
cmp edx, 0x202f
jmp 0x452cce
cmp edx, 0x3000
je case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452b80
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x453792
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452ddf
test dl, 0x20
jne 0x452d2d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452ddc
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452d54
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452dda
test dl, 8
jne 0x452d77
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 0x452dda
test dl, 4
jne 0x452da6
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 0x452dda
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 0x452e05
je 0x452e37
cmp edx, 0xa0
ja 0x452dfd
je 0x452e37
cmp edx, 9
je 0x452e37
cmp edx, 0x20
jmp 0x452e31
cmp edx, 0x1680
jmp 0x452e31
cmp edx, 0x205f
ja 0x452e2b
je 0x452e37
cmp edx, 0x2000
jb case.0x4534b6.14
cmp edx, 0x200a
jbe 0x452e37
cmp edx, 0x202f
jmp 0x452e31
cmp edx, 0x3000
jne case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452cf3
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x453792
jmp 0x452e60
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x452f4c
test dl, 0x20
jne 0x452e9a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x452f49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x452ec1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x452f47
test dl, 8
jne 0x452ee4
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 0x452f47
test dl, 4
jne 0x452f13
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 0x452f47
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 0x452f64
je case.0x4534b6.14
cmp edx, 0xa
jb 0x452f78
cmp edx, 0xd
jmp 0x452f72
cmp edx, 0x2028
jb 0x452f78
cmp edx, 0x2029
jbe case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452e60
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x453792
jmp 0x452fa0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45308c
test dl, 0x20
jne 0x452fda
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x453089
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453001
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x453087
test dl, 8
jne 0x453024
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 0x453087
test dl, 4
jne 0x453053
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 0x453087
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 0x45309e
je 0x4530ad
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x4530a7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x452fa0
jmp 0x45378b
mov ebx, 1
cmp ecx, ebx
jl 0x453792
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x44f5a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4531bc
test dl, 0x20
jne 0x45310a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4531b9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x453131
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4531b7
test dl, 8
jne 0x453154
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 0x4531b7
test dl, 4
jne 0x453183
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 0x4531b7
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 0x4531d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4534b6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4530d0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45187d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4534b6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4534b6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4531f0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45187d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x453263
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4534b6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x453288
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x453288
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x453270
inc edi
cmp edi, dword [esi + 0x90]
jle 0x453240
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45187d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4534b6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4534b6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4532a3
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45187d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x453313
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4534b6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x453338
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x453338
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x453320
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4532f0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45187d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4534b6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4534b6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453353
jmp 0x45378b
cmp eax, 0xf
ja case.0x4558d7.9
jmp dword [eax*4 + 0x45a5a4]
mov ebx, 1
cmp ecx, ebx
jl 0x453792
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x44f5a7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4533e0
push 0
push edi
push eax
push edx
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne case.0x4534b6.14
jmp 0x453404
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x453404
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x453404
cmp edx, 1
je case.0x4534b6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4534b6.14
cmp dword [ebp + 0x88], 0
je 0x45343f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45343f
cmp dword [ebp + 0x18], 0
jne 0x45343f
cmp dword [edi], 2
jne 0x45343f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45343f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4533b0
jmp 0x45378b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x452a16
cmp dword [ebp + 0x88], ebx
je case.0x4534b6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4534b6.14
jmp 0x44d482
mov edx, 1
cmp ecx, edx
jl 0x45378b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45187d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4534b6.14
movzx eax, byte [eax + 0x45a5f4]
jmp dword [eax*4 + 0x45a5e4]
cmp ecx, dword [ebp + 0x78]
jae case.0x4534b6.10
cmp byte [ecx], 0xa
jne case.0x4534b6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4534b6.10
cmp dword [ebp + 0x68], ebx
jne case.0x4534b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x453490
jmp 0x45378b
mov edx, 1
cmp ecx, edx
jl 0x45378b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4534b6.14
cmp ecx, 0x20
je case.0x4534b6.14
cmp ecx, 0xa0
je case.0x4534b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4534f3
jmp 0x45378b
mov edx, 1
cmp ecx, edx
jl 0x45378b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x453569
cmp ecx, 0x20
je 0x453569
cmp ecx, 0xa0
jne case.0x4534b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x453540
jmp 0x45378b
mov edx, 1
cmp ecx, edx
jl 0x45378b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x4535b1
cmp ecx, 0xd
jle case.0x4534b6.14
cmp ecx, 0x85
je case.0x4534b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x453584
jmp 0x45378b
mov edx, 1
cmp ecx, edx
jl 0x45378b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x4534b6.14
cmp ecx, 0xd
jle 0x4535fd
cmp ecx, 0x85
jne case.0x4534b6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4535d0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
jmp 0x453620
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4534b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453620
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4534b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453660
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4534b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4536a0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4534b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4536e0
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
jmp 0x453720
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4534b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453720
jmp 0x45378b
mov edi, 1
cmp ecx, edi
jl 0x453792
jmp 0x453760
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45187d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4534b6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x453760
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x44c52a
cmp dword [esp + 0x84], 0
je 0x4537f2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4537d5
cmp eax, 0xa
ja case.0x4558d7.9
jmp dword [eax*4 + 0x45a670]
mov esi, dword [esi]
test esi, esi
je case.default.0x455da4
mov edi, 0xfffffff2
jmp 0x455d90
cmp dword [esi + 0x7c], 0x16
je 0x4599c3
test edx, edx
jne 0x4599ae
mov dword [esi + 0x84], ecx
jmp 0x456c25
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45482b
cmp eax, 0xa
ja case.0x4558d7.9
jmp dword [eax*4 + 0x45a69c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x454818
mov ebx, dword [esp + 0x8c]
jmp 0x453830
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x45389b
movzx ecx, byte [edx]
test ebx, ebx
je 0x45387e
cmp ecx, 0xc0
jb 0x45387e
test cl, 0x20
jne 0x453858
mov eax, 2
jmp 0x45387e
test cl, 0x10
jne 0x453864
mov eax, 3
jmp 0x45387e
test cl, 8
jne 0x453870
mov eax, 4
jmp 0x45387e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x454818
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x453830
jmp 0x454818
cmp dword [ebp + 0x88], 0
je 0x454818
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454818
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x454818
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x455d90
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x453a5e
movzx ebx, byte [edi]
test edx, edx
je 0x4539dc
cmp ebx, 0xc0
jb 0x4539dc
test bl, 0x20
jne 0x45393e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4539d4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45395d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4539d4
and eax, 0x3f
test bl, 8
jne 0x45397d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4539d4
test bl, 4
jne 0x4539a6
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 0x4539d4
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4539fe
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp eax, 9
je 0x453a23
cmp eax, 5
je 0x453a23
cmp eax, 8
je 0x453a23
xor eax, eax
jmp 0x453a28
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454818
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 0x453900
jmp 0x454818
cmp dword [ebp + 0x88], 0
je 0x454818
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454818
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x454818
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d90
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
jmp 0x453ac0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c42
movzx ebx, byte [edi]
test edx, edx
je 0x453bc3
cmp ebx, 0xc0
jb 0x453bc3
test bl, 0x20
jne 0x453b0a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x453bbb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453b32
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x453bbb
and eax, 0x3f
test bl, 8
jne 0x453b58
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 0x453bbb
test bl, 4
jne 0x453b87
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 0x453bbb
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453be5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454818
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 0x453ac0
jmp 0x454818
cmp dword [ebp + 0x88], 0
je 0x454818
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454818
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x453a83
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c42
movzx ebx, byte [edi]
test edx, edx
je 0x453d8f
cmp ebx, 0xc0
jb 0x453d8f
test bl, 0x20
jne 0x453cd6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x453d87
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453cfe
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x453d87
and eax, 0x3f
test bl, 8
jne 0x453d24
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 0x453d87
test bl, 4
jne 0x453d53
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 0x453d87
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453db1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454818
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 0x453c90
jmp 0x454818
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c42
movzx ebx, byte [edi]
test edx, edx
je 0x453f23
cmp ebx, 0xc0
jb 0x453f23
test bl, 0x20
jne 0x453e6a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x453f1b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x453e92
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x453f1b
and eax, 0x3f
test bl, 8
jne 0x453eb8
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 0x453f1b
test bl, 4
jne 0x453ee7
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 0x453f1b
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x453f45
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454818
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 0x453e20
jmp 0x454818
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x453a5e
movzx ebx, byte [edi]
test edx, edx
je 0x454093
cmp ebx, 0xc0
jb 0x454093
test bl, 0x20
jne 0x453ff2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45408b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x454014
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45408b
and eax, 0x3f
test bl, 8
jne 0x454034
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45408b
test bl, 4
jne 0x45405d
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 0x45408b
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4540b5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x4540dc
cmp eax, 3
je 0x4540dc
xor eax, eax
jmp 0x4540e1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454818
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 0x453fb4
jmp 0x454818
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c42
movzx ebx, byte [edi]
test edx, edx
je 0x45423d
cmp ebx, 0xc0
jb 0x45423d
test bl, 0x20
jne 0x454182
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45423d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4541aa
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x454233
and eax, 0x3f
test bl, 8
jne 0x4541d0
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 0x454233
test bl, 4
jne 0x4541ff
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 0x454233
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 0x454280
je case.0x4542a0.8192
cmp ebx, 0x85
ja 0x45426c
je case.0x4542a0.8192
cmp ebx, 9
jb case.0x4542a0.8203
cmp ebx, 0xd
jbe case.0x4542a0.8192
cmp ebx, 0x20
jmp 0x4542b5
cmp ebx, 0xa0
je case.0x4542a0.8192
cmp ebx, 0x1680
jmp 0x4542b5
cmp ebx, 0x202f
ja 0x4542a7
je case.0x4542a0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4542a0.8203
movzx eax, byte [eax + 0x45a6d0]
jmp dword [eax*4 + 0x45a6c8]
cmp ebx, 0x205f
je case.0x4542a0.8192
cmp ebx, 0x3000
je case.0x4542a0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4542d9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp dword [eax*4 + 0x50d0d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x454818
mov edx, dword [esp + 0x8c]
jmp 0x454314
cmp dword [esi + 0x68], 0
jne 0x454818
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 0x454130
jmp 0x454818
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x453c42
movzx ebx, byte [edi]
test edx, edx
je 0x454463
cmp ebx, 0xc0
jb 0x454463
test bl, 0x20
jne 0x4543aa
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45445b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4543d2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45445b
and eax, 0x3f
test bl, 8
jne 0x4543f8
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 0x45445b
test bl, 4
jne 0x454427
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 0x45445b
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 + 0x50e940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x454486
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x4544b2
cmp eax, 3
je 0x4544b2
cmp ebx, 0x5f
je 0x4544b2
xor eax, eax
jmp 0x4544b7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x454818
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 0x454360
jmp 0x454818
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x454818
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45464f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4545f1
cmp edx, 0xc0
jb 0x4545f1
test dl, 0x20
jne 0x454554
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4545e9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x454573
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4545e9
and eax, 0x3f
test dl, 8
jne 0x454593
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4545e9
test dl, 4
jne 0x4545bc
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 0x4545e9
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 + 0x50d180]
lea eax, [eax*4 + 0x50d180]
cmp edx, ecx
jb 0x454613
lea eax, [eax + 4]
cmp edx, ecx
je 0x454643
mov ecx, dword [eax]
cmp edx, ecx
jae 0x454606
cmp dword [esi + 0x68], 0
je 0x454818
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 0x454510
jmp 0x454818
cmp dword [esi + 0x68], 0
jne 0x454818
jmp 0x45461d
cmp dword [ebp + 0x88], 0
je 0x454818
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454818
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x454818
jmp 0x44d496
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x454818
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4547f0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4547a7
cmp edx, 0xc0
jb 0x4547a7
test dl, 0x20
jne 0x4546dd
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4547a7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x454707
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 0x4547a7
test dl, 8
jne 0x454733
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 0x4547a7
test dl, 4
jne 0x45476b
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 0x4547a7
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 0x4547d2
cmp edx, 0x40
je 0x4547d2
cmp edx, 0x60
je 0x4547d2
cmp edx, 0xa0
jb 0x4547c6
cmp edx, 0xd7ff
jbe 0x4547d2
cmp edx, 0xe000
jae 0x4547d2
xor ecx, ecx
jmp 0x4547d7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x454818
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x454691
jmp 0x454818
cmp dword [ebp + 0x88], 0
je 0x454818
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454818
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
je 0x458ccc
jmp 0x44c52a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x454bc7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x454b78
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x454b50
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x454950
cmp ebx, 0xc0
jb 0x454950
test bl, 0x20
jne 0x454899
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45494d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4548c0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x454946
test bl, 8
jne 0x4548e3
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 0x454946
test bl, 4
jne 0x454912
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 0x454946
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x454972
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c2]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x454b0d
jmp 0x4549a0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x454a9e
cmp ebx, 0xc0
jb 0x454a9e
test bl, 0x20
jne 0x4549d5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x454a96
test bl, 0x10
jne 0x4549fa
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 0x454a96
test bl, 8
jne 0x454a28
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 0x454a96
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x454a62
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 0x454a96
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x454ac0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx ecx, byte [eax*8 + 0x50d2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d148], eax
je 0x454b06
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 0x4549a0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x454b3a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x454b3a
cmp eax, dword [ebp + 0x84]
jbe 0x454b3a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x454850
jmp 0x454b78
cmp dword [ebp + 0x88], 0
je 0x454b78
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x454b78
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
cmp dword [esp + 0x80], 0
jne 0x44c52a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0f5
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0eb
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
add eax, 0xfffffffa
test edx, edx
je 0x4558ce
cmp eax, 0xf
ja case.0x4558d7.9
jmp dword [eax*4 + 0x45a6fc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x454cb6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x454c29
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x4558bb
jmp 0x454c4d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x454c4d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x454c4d
cmp edx, 1
je 0x4558bb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4558bb
cmp dword [ebp + 0x88], 0
je 0x454c88
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x454c88
cmp dword [ebp + 0x18], 0
jne 0x454c88
cmp dword [edi], 2
jne 0x454c88
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x454c88
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x454ca4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454ca4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x454c93
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x454bf4
jmp 0x4558bb
cmp dword [ebp + 0x88], 0
je 0x4558bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4558bb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4558bb
jmp 0x44d496
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x454d48
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4558bb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x454cb6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x454d3a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x454d3a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x454d22
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x454d10
jmp 0x4558bb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4558bb
cmp eax, dword [ebp + 0x84]
jbe 0x4558bb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4558bb
jmp 0x453a89
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 0x454dcf
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4558bb
cmp edx, dword [ebp + 0x84]
jbe 0x4558bb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4558bb
jmp 0x44d496
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x454cb6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x454efa
test dl, 0x20
jne 0x454e2e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x454efa
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x454e58
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 0x454ef8
test dl, 8
jne 0x454e84
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 0x454ef8
test dl, 4
jne 0x454ebc
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 0x454ef8
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 0x454f16
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4558bb
cmp byte [eax], 0xa
jne 0x454f50
inc eax
jmp 0x454f4d
cmp edx, 0xa
je 0x454f4b
cmp dword [ebp + 0x68], 0
jne 0x4558bb
cmp edx, 0xb
je 0x454f4b
cmp edx, 0xc
je 0x454f4b
cmp edx, 0x85
je 0x454f4b
cmp edx, 0x2028
je 0x454f4b
cmp edx, 0x2029
jne 0x4558bb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x454df0
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455048
test dl, 0x20
jne 0x454faa
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x455040
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x454fc9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x455040
and eax, 0x3f
test dl, 8
jne 0x454fe9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x455040
test dl, 4
jne 0x455012
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 0x455040
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 0x45506e
je 0x45509c
cmp edx, 0xa0
ja 0x455066
je 0x45509c
cmp edx, 9
je 0x45509c
cmp edx, 0x20
jmp 0x455096
cmp edx, 0x1680
jmp 0x455096
cmp edx, 0x205f
ja 0x455090
je 0x45509c
cmp edx, 0x2000
jb 0x455098
cmp edx, 0x200a
jbe 0x45509c
cmp edx, 0x202f
jmp 0x455096
cmp edx, 0x3000
je 0x45509c
xor edx, edx
jmp 0x4550a1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x454f74
jmp 0x4558bb
cmp dword [ebp + 0x88], 0
je 0x4558bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4558bb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4558bb
jmp 0x44d496
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4551e0
test dl, 0x20
jne 0x455142
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4551d8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455161
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4551d8
and eax, 0x3f
test dl, 8
jne 0x455181
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4551d8
test dl, 4
jne 0x4551aa
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 0x4551d8
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 0x45521f
je 0x45522a
cmp edx, 0xa
jb 0x4551f4
cmp edx, 0xd
jbe 0x45522a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455110
jmp 0x4558bb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x4551f4
mov edx, 1
jmp 0x4551f6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455317
test dl, 0x20
jne 0x455279
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45530f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455298
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45530f
and eax, 0x3f
test dl, 8
jne 0x4552b8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45530f
test dl, 4
jne 0x4552e1
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 0x45530f
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 0x45532c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455243
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
jmp 0x455360
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455434
test dl, 0x20
jne 0x455396
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45542c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4553b5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45542c
and eax, 0x3f
test dl, 8
jne 0x4553d5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45542c
test dl, 4
jne 0x4553fe
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 0x45542c
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 0x4558bb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455360
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
jmp 0x455480
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455554
test dl, 0x20
jne 0x4554b6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45554c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4554d5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45554c
and eax, 0x3f
test dl, 8
jne 0x4554f5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45554c
test dl, 4
jne 0x45551e
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 0x45554c
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 0x455569
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455480
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455667
test dl, 0x20
jne 0x4555c9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45565f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4555e8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45565f
and eax, 0x3f
test dl, 8
jne 0x455608
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45565f
test dl, 4
jne 0x455631
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 0x45565f
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 0x4558bb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x455593
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455784
test dl, 0x20
jne 0x4556e6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45577c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455705
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45577c
and eax, 0x3f
test dl, 8
jne 0x455725
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45577c
test dl, 4
jne 0x45574e
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 0x45577c
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 0x455799
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4556b0
jmp 0x4558bb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4558bb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4550ca
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x455897
test dl, 0x20
jne 0x4557f9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45588f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x455818
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45588f
and eax, 0x3f
test dl, 8
jne 0x455838
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45588f
test dl, 4
jne 0x455861
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 0x45588f
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 0x4558bb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4558bb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4557c3
cmp dword [esp + 0x80], 0
je 0x458188
jmp 0x44c52a
cmp eax, 0xf
ja case.0x4558d7.9
jmp dword [eax*4 + 0x45a73c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x455d67
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x455994
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x455920
push 0
push edi
push eax
push edx
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x455d67
jmp 0x455944
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x455944
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x455944
cmp edx, 1
je 0x455d67
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x455d67
cmp dword [ebp + 0x88], 0
je 0x45597f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45597f
cmp dword [ebp + 0x18], 0
jne 0x45597f
cmp dword [edi], 2
jne 0x45597f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45597f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4558f0
jmp 0x455d67
cmp dword [ebp + 0x88], 0
je 0x455d67
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x455d67
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x455d67
jmp 0x44d496
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 0x455a18
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x455d67
cmp edx, dword [ebp + 0x84]
jbe 0x455d67
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x455d67
jmp 0x44d496
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x455d67
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d67
jmp 0x455a40
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455994
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x455a6b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x455d67
cmp byte [eax], 0xa
jne 0x455a95
inc eax
jmp 0x455a92
cmp eax, 0xa
je 0x455a8f
cmp dword [ebp + 0x68], 0
jne 0x455d67
cmp eax, 0xb
je 0x455a8f
cmp eax, 0xc
je 0x455a8f
cmp eax, 0x85
jne 0x455d67
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x455a40
jmp 0x455d67
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d67
jmp 0x455ac0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455994
mov al, byte [ecx]
cmp al, 9
je 0x455d67
cmp al, 0x20
je 0x455d67
cmp al, 0xa0
je 0x455d67
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455ac0
jmp 0x455d67
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d67
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455994
mov al, byte [ecx]
cmp al, 9
je 0x455b2e
cmp al, 0x20
je 0x455b2e
cmp al, 0xa0
jne 0x455d67
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455b10
jmp 0x455d67
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d67
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455994
mov al, byte [ecx]
cmp al, 0xa
jb 0x455b76
cmp al, 0xd
jbe 0x455d67
cmp al, 0x85
je 0x455d67
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455b54
jmp 0x455d67
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x455d67
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x455994
mov al, byte [ecx]
cmp al, 0xa
jb 0x455d67
cmp al, 0xd
jbe 0x455bc2
cmp al, 0x85
jne 0x455d67
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x455ba0
jmp 0x455d67
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d67
jmp 0x455bf0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455994
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x455d67
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455bf0
jmp 0x455d67
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d67
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455994
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x455d67
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455c32
jmp 0x455d67
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d67
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455994
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x455d67
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455c74
jmp 0x455d67
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d67
jmp 0x455cc0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455994
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x455d67
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455cc0
jmp 0x455d67
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d67
jmp 0x455d00
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455994
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x455d67
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455d00
jmp 0x455d67
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x455d67
jmp 0x455d40
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x455994
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x455d67
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x455d40
cmp dword [esp + 0x80], 0
je 0x456dca
jmp 0x44c52a
mov esi, dword [esi]
test esi, esi
je 0x45a241
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.0x455da4
jmp dword [eax*4 + 0x45a77c]
cmp edi, 0xfffffc1b
je 0x455e76
cmp edi, 0xfffffc20
jne 0x455df3
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.0x455da4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x455def
cmp byte [ecx], 0x77
jne case.0x455da4.49
xor edi, edi
jmp 0x455dfb
test edi, edi
jne case.0x455da4.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 0x455e76
cmp dword [esi + 0x9c], 0x88
jb 0x455e41
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459bca
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459bc0
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
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 0x45626c
mov edx, dword [esp + 0x8c]
jmp 0x455d94
cmp edi, 0xfffffc20
jne 0x455f33
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 0x455f81
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x455efe
cmp byte [ecx], 0x77
jne 0x455f81
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 0x455f97
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d94
test edi, edi
je 0x455efe
cmp edi, 0xfffffc1b
jne 0x455f81
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x455f73
cmp al, 0x77
jne 0x455f64
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 0x455f50
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 0x45626c
mov edx, dword [esp + 0x8c]
jmp 0x455d94
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x455fe9
cmp eax, 0x81
je 0x455fe9
cmp dword [ebp + 0x6c], 0
jne 0x455ff3
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 0x455ff3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50cfb8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x44c4b0
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 0x459bec
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459be2
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
cmp edi, 1
jne 0x4560b3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x456050
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x456063
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 0x456099
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 0x456080
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x50cfb8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x44c95e.145
test edi, edi
je 0x4560c3
cmp edi, 0xfffffc20
jne case.0x455da4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x4560d9
movzx eax, byte [edx + 0x50cfb8]
jmp 0x4560dc
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x4560f9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x44c531
cmp dword [esi + 0x9c], 0x8c
jne 0x44c4b0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459c0e
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459c04
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
cmp edi, 1
je 0x4561f2
cmp edi, 0xfffffc19
je 0x4561f2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x45619a
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.0x455da4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4561a2
cmp byte [ecx], 0x77
jmp 0x45619c
test edi, edi
jne case.0x455da4.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 0x4561f8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459c27
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459c1d
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x456211
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d94
cmp dword [esi + 0x58], 0
je 0x45984e
mov esi, dword [esi]
test esi, esi
je 0x45a1e6
mov edi, 1
jmp 0x455d94
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x4562dd
je 0x456276
cmp edi, 0xfffffc19
je 0x456b13
cmp edi, 0xfffffc1b
jle case.0x455da4.49
cmp edi, 0xfffffc1f
jle 0x45629e
mov esi, dword [esi]
test esi, esi
jne 0x455d94
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 0x45629e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4562f0
cmp byte [ecx], 0x77
je 0x4562f0
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 0x4562a1
cmp dword [esi + 0x58], 0
je 0x456527
mov esi, dword [esi]
test esi, esi
je 0x45a1e6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x455d94
mov eax, edi
sub eax, 0
je 0x4562f0
dec eax
je 0x456b13
jmp case.0x455da4.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 0x4562b8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459c3d
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459c33
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.00440a45
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 0x45987c
cmp edi, 0xfffffc19
je 0x45987c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4563a9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x44d32b
push ecx
call dword [0x29f82d4]
add esp, 4
jmp 0x44d32b
test edi, edi
je 0x4563d3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4563c4
push ecx
call dword [0x29f82d4]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x45626c
jmp 0x455d89
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 0x456439
cmp dword [esi + 0x58], 0
je 0x456404
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459c83
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459c79
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x456389
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x456493
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459cd1
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459cc7
mov esi, dword [esi]
test esi, esi
je 0x45a19b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455d94
cmp al, 0x88
jb 0x4599d4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459cf3
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ce9
mov esi, dword [esi]
test esi, esi
je 0x45a19b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x45a1f3
mov edi, 0xfffffc1b
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
mov edx, dword [esi + 0x2c]
jmp 0x456510
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 0x456510
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x44c52a
test edi, edi
je 0x44dda4
jmp case.0x455da4.49
test edi, edi
je 0x4564df
jmp case.0x455da4.49
cmp edi, 0xfffffc1b
jne 0x45655b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x45655d
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x45734b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d15
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d0b
mov esi, dword [esi]
test esi, esi
je 0x45a19b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4565d0
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0045a9d0
add esp, 0x14
test eax, eax
jns 0x456637
cmp eax, 0xfffffffe
jne 0x4565f9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x458111
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458111
cmp eax, dword [ebp + 0x84]
jbe 0x458111
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f34e
jmp 0x458111
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d3a
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d30
mov esi, dword [esi]
test esi, esi
je 0x45a19b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x4534b6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d53
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d49
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4566f7
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4581f6
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 0x458111
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d6c
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d62
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x44d32b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d85
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d7b
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4567d1
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4581f6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x456801
cmp dword [esi + 0x94], ecx
je 0x456801
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d94
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459d9e
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459d94
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
dec dword [esi + 8]
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459db7
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459dad
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4568b1
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4581f6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x458111
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459dd0
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459dc6
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
dec dword [esi + 8]
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459de9
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ddf
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45697e
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4581f6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x456b13
cmp dword [esi + 0x94], ecx
je 0x456b13
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e02
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459df8
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e1b
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e11
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x456a55
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4581f6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x458111
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e31
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e27
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e47
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e3d
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x456b24
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d94
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x456b6b
cmp dword [ebp + 0x88], 0
je 0x456b53
cmp ecx, dword [ebp + 0x84]
jbe 0x456b53
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f34e
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455d94
cmp dword [esi + 0x7c], 0xc
jne 0x456b92
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x456bb4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x456bd1
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.0x456bad.15
jmp dword [eax*4 + 0x45a888]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x456b92
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x456b92
cmp edi, 1
je 0x456bd1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x456b92
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455d94
cmp dword [ebp + 0x88], 0
je case.0x456bad.13
cmp edx, dword [ebp + 0x78]
jb case.0x456bad.13
cmp dword [ebp + 0x18], 0
jne case.0x456bad.13
cmp dword [ebp + 0x1c], 2
jne case.0x456bad.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x456bad.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f34e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e5d
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e53
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x456c6d.14
movzx eax, byte [ecx + 0x45a8d8]
jmp dword [eax*4 + 0x45a8c8]
cmp edx, dword [ebp + 0x78]
jae case.0x456bad.13
cmp byte [edx], 0xa
jne case.0x456bad.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x456bad.13
cmp dword [ebp + 0x68], 0
je case.0x456bad.13
jmp case.0x456c6d.14
cmp ecx, 9
je case.0x456c6d.14
cmp ecx, 0x20
je case.0x456c6d.14
cmp ecx, 0xa0
jmp 0x456d6a
cmp ecx, 9
je case.0x456bad.13
cmp ecx, 0x20
je case.0x456bad.13
cmp ecx, 0xa0
je case.0x456bad.13
jmp case.0x456c6d.14
cmp ecx, 0xa
jb case.0x456bad.13
cmp ecx, 0xd
jbe case.0x456c6d.14
cmp ecx, 0x85
jmp 0x456d6a
cmp ecx, 0xa
jb case.0x456c6d.14
cmp ecx, 0xd
jbe case.0x456bad.13
cmp ecx, 0x85
je case.0x456bad.13
jmp case.0x456c6d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x456bad.13
jmp case.0x456c6d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x456d6a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x456bad.13
jmp case.0x456c6d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x456d6a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x456bad.13
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455d94
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x456bad.13
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455d94
mov esi, dword [esi]
test esi, esi
je case.default.0x455da4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x456dca
cmp eax, dword [esi + 0x30]
jbe 0x456dca
cmp byte [eax], 0xa
jne 0x456dca
cmp byte [eax - 1], 0xd
jne 0x456dca
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459e73
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459e69
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
cmp edi, 0xfffffc1a
jne 0x456e61
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 0x456e59
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 0x456e40
jmp 0x456eb8
mov dword [esi + 8], eax
jmp 0x456edd
cmp edi, 0xfffffc20
jne 0x456e95
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.0x455da4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x456e9d
cmp byte [ecx], 0x77
jmp 0x456e97
test edi, edi
jne case.0x455da4.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 0x456ed1
cmp dword [esi + 0x5c], 0
jne 0x456527
cmp dword [esi + 0x54], 0
jne 0x456527
jmp 0x458111
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x456ef3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x459eb5
push 0x134
call dword [0x29f82d8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x459eab
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
mov esi, dword [esi]
test edi, edi
jne 0x456264
test esi, esi
je 0x45a20d
mov edi, 0xfffffc1c
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a227
mov edi, 0xfffffc1e
jmp 0x455d94
cmp edi, 1
je 0x456f73
cmp edi, 0xfffffc19
jne 0x456f8d
cmp dword [ebp + 0xac], 0
jne 0x456f8d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x455f81
cmp edi, 0xfffffc1f
jne 0x455f81
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x456fc2
test dl, dl
je 0x456fbe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x456fc2
add eax, 2
add ecx, 2
test dl, dl
jne 0x456fa2
xor eax, eax
jmp 0x456fc7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x455f81
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a227
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x455d94
cmp edi, 1
je 0x456ffd
cmp edi, 0xfffffc19
jne case.0x455da4.51
cmp dword [ebp + 0xac], 0
jne case.0x455da4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x456264
test esi, esi
je 0x45a200
mov edi, 0xfffffc1d
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a234
mov edi, 0xfffffc1f
jmp 0x455d94
cmp edi, 1
je 0x457060
cmp edi, 0xfffffc19
jne case.0x455da4.54
cmp dword [ebp + 0xac], 0
jne case.0x455da4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x45a21a
mov edi, 0xfffffc20
jmp 0x455d94
cmp edi, 0xfffffc1a
jne 0x457101
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 0x4570f9
mov edx, dword [esi + 0xc]
jmp 0x4570e0
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 0x4570e0
jmp 0x457168
mov dword [esi + 8], eax
jmp 0x44d062
cmp edi, 0xfffffc20
jne 0x457135
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.0x455da4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x45713d
cmp byte [ecx], 0x77
jmp 0x457137
test edi, edi
jne case.0x455da4.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 0x44d062
cmp dword [esi + 0x5c], 0
jne 0x4571a8
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 0x44c526
cmp dword [esi + 0x5c], 0
jne 0x44c526
jmp 0x458111
cmp edi, 1
jne 0x457264
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4571e1
cmp al, 0x77
jne 0x458111
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 0x4571e1
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 0x44c526
cmp ecx, dword [esi + 0x38]
je 0x44c526
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x4572fd
test ecx, ecx
jne 0x459f1e
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f14
mov esi, dword [esi]
test esi, esi
je 0x45a19b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455d94
cmp edi, 0xfffffc20
jne 0x457298
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.0x455da4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4572a0
cmp byte [ecx], 0x77
jmp 0x45729a
test edi, edi
jne case.0x455da4.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 0x4571d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459ef9
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459eef
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test ecx, ecx
jne 0x459f43
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f39
mov esi, dword [esi]
test esi, esi
je 0x45a19b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x455d94
test edi, edi
je 0x4599d4
jmp case.0x455da4.49
test edi, edi
jne case.0x455da4.49
add dword [esi + 0xc], 3
jmp 0x44c4b0
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457379
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45747a
cmp ebx, 0xc0
jb 0x45747a
test bl, 0x20
jne 0x4573bb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x457477
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4573e5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45747a
mov edx, dword [esi + 8]
test bl, 8
jne 0x45740b
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 0x45746e
test bl, 4
jne 0x45743a
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 0x45746e
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.0045bc50
add esp, 0xc
test eax, eax
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459f65
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f5b
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x458111
cmp dword [esp + 0x8c], edi
je 0x457501
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x457501
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4574f5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459f7e
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f74
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45755b
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x457650
test bl, 0x20
jne 0x457595
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45764d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4575bf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x457650
mov edx, dword [esi + 8]
test bl, 8
jne 0x4575e8
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 0x45764b
test bl, 4
jne 0x457617
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 0x45764b
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 0x457666
cmp dword [esi + 0x9c], 0x6e
jne 0x457683
jmp 0x44d32b
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 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459f97
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459f8d
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x44d32b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4576ec
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4576e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459fb0
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459fa6
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457746
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
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 0x4577b5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x457775
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45777a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x457764
cmp edi, 0xfffffffc
je 0x4577a7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4577b2
cmp edi, 0xfffffffd
je 0x4577a7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4577b2
cmp edi, 0xfffffffe
je 0x4577a7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4577b2
cmp edi, 0xffffffff
je 0x4577a7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4577b2
mov eax, dword [esi + 0x88]
jmp 0x457820
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x457860
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x457860
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4577e7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4577ec
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4577d6
cmp edi, 0xfffffffc
je 0x45781d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x457860
cmp edi, 0xfffffffd
je 0x45781d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x457860
cmp edi, 0xfffffffe
je 0x45781d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x457860
cmp edi, 0xffffffff
je 0x45781d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x457860
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 0x459fc9
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459fbf
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
cmp dword [ebp + 0x88], 0
je case.0x4534b6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x4534b6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x4534b6.14
jmp 0x44d482
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4578ac
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4578a0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459fe2
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459fd8
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457912
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x457a12
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x45794c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457a0f
test dl, 0x10
jne 0x45796e
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 0x457a12
mov ecx, dword [esi + 8]
test dl, 8
jne 0x45799e
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 0x457a0f
test dl, 4
jne 0x4579d4
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 0x457a0f
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 0x456bd1
cmp dword [esi + 0x94], edx
je 0x456bd1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x457a59
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x456665
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x459e7d
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457a8c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x457a80
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x459ffb
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x459ff1
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457af2
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x457be7
test bl, 0x20
jne 0x457b2c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x457be4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x457b56
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x457be7
mov edx, dword [esi + 8]
test bl, 8
jne 0x457b7f
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 0x457be2
test bl, 4
jne 0x457bae
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 0x457be2
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 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a014
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a00a
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457c50
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x457c44
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a02d
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a023
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x457cb6
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x457cf2
cmp dword [ebp + 0x88], 0
je 0x458111
cmp ecx, dword [ebp + 0x84]
jbe 0x458111
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44f34e
jmp 0x458111
cmp dword [esi + 0x7c], 0xc
jne 0x457d44
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x457d1f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0045c2c0
add esp, 0x14
test eax, eax
jne 0x458111
jmp 0x457d44
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x457d44
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457d44
cmp edi, 1
je 0x458111
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x458111
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x457e2c
test dl, 0x20
jne 0x457d77
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x457e29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x457d9e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x457e27
test dl, 8
jne 0x457dc4
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 0x457e27
test dl, 4
jne 0x457df3
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 0x457e27
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.0x457e3b.15
jmp dword [eax*4 + 0x45a954]
cmp dword [ebp + 0x88], 0
je case.0x457e3b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x457e3b.13
cmp dword [ebp + 0x18], 0
jne case.0x457e3b.13
cmp dword [ebp + 0x1c], 2
jne case.0x457e3b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x457e3b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x457e3b.13
jmp 0x44f34e
cmp edx, 0xd
ja 0x457ebe
je 0x457eab
cmp edx, 0xa
je case.0x457e3b.13
jbe 0x458111
cmp edx, 0xc
jmp 0x457ed8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x457e3b.13
cmp byte [eax], 0xa
jne case.0x457e3b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x457e3b.13
cmp edx, 0x85
je 0x457ede
cmp edx, 0x2027
jbe 0x458111
cmp edx, 0x2029
ja 0x458111
cmp dword [ebp + 0x68], 0
je case.0x457e3b.13
jmp 0x458111
cmp edx, 0x180e
ja 0x457f5d
je 0x458111
cmp edx, 0xa0
ja 0x457f55
je 0x458111
cmp edx, 9
je 0x458111
cmp edx, 0x20
je 0x458111
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x457f46
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x456665
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x459e7d
cmp edx, 0x1680
jmp 0x457f11
cmp edx, 0x205f
ja 0x457f87
je 0x458111
cmp edx, 0x2000
jb case.0x457e3b.13
cmp edx, 0x200a
jbe 0x458111
cmp edx, 0x202f
jmp 0x457f11
cmp edx, 0x3000
jmp 0x45810b
cmp edx, 0x180e
ja 0x457fc4
je case.0x457e3b.13
cmp edx, 0xa0
ja 0x457fbc
je case.0x457e3b.13
cmp edx, 9
je case.0x457e3b.13
cmp edx, 0x20
jmp 0x457ff8
cmp edx, 0x1680
jmp 0x457ff8
cmp edx, 0x205f
ja 0x457ff2
je case.0x457e3b.13
cmp edx, 0x2000
jb 0x458111
cmp edx, 0x200a
jbe case.0x457e3b.13
cmp edx, 0x202f
jmp 0x457ff8
cmp edx, 0x3000
je case.0x457e3b.13
jmp 0x458111
cmp edx, 0x85
ja 0x458028
je 0x458111
cmp edx, 0xa
jb case.0x457e3b.13
cmp edx, 0xd
jbe 0x458111
jmp case.0x457e3b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x457e3b.13
jmp 0x458111
cmp edx, 0x85
ja 0x458058
je case.0x457e3b.13
cmp edx, 0xa
jb 0x458111
cmp edx, 0xd
jmp 0x458061
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x457e3b.13
jmp 0x458111
cmp edx, 0x100
jae case.0x457e3b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x457e3b.13
jmp 0x458111
cmp edx, 0x100
jae 0x458111
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x45810b
cmp edx, 0x100
jae case.0x457e3b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x457e3b.13
jmp 0x458111
cmp edx, 0x100
jae 0x458111
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x45810b
cmp edx, 0x100
jae case.0x457e3b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x457e3b.13
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455d94
cmp edx, 0x100
jae 0x458111
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x457e3b.13
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x455d94
mov esi, dword [esi]
test esi, esi
je case.default.0x455da4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x455d94
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45816c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458160
cmp dword [esi + 0x7c], 0x11
jne 0x458188
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x458188
cmp byte [eax], 0xa
jne 0x458188
dec eax
cmp byte [eax], 0xd
jne 0x458188
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a046
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a03c
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4581ee
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45820e
cmp dword [ebp + 0x88], 0
je 0x456b13
cmp eax, dword [ebp + 0x84]
jmp 0x458969
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x45824d
cmp ecx, 0xc0
jb 0x45824d
test cl, 0x20
jne 0x458229
inc eax
jmp 0x45824a
test cl, 0x10
jne 0x458233
add eax, 2
jmp 0x45824a
test cl, 8
jne 0x45823d
add eax, 3
jmp 0x45824a
test cl, 4
jne 0x458247
add eax, 4
jmp 0x45824a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x458264
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
xor edi, edi
jmp 0x455d94
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x458293
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x456665
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x459e7d
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4582c7
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4583c1
cmp ebx, 0xc0
jb 0x4583c1
test bl, 0x20
jne 0x458309
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4583be
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458333
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4583c1
mov edx, dword [esi + 8]
test bl, 8
jne 0x458359
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 0x4583bc
test bl, 4
jne 0x458388
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 0x4583bc
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4583e3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp eax, 9
je 0x458408
cmp eax, 5
je 0x458408
cmp eax, 8
je 0x458408
xor eax, eax
jmp 0x45840d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a05f
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a055
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458476
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45856c
cmp ebx, 0xc0
jb 0x45856c
test bl, 0x20
jne 0x4584b8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458569
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4584e0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45856c
mov edx, dword [esi + 8]
test bl, 8
jne 0x458506
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 0x458569
test bl, 4
jne 0x458535
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 0x458569
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x45858e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a078
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a06e
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458618
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x45870e
cmp ebx, 0xc0
jb 0x45870e
test bl, 0x20
jne 0x45865a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45870b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458682
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45870e
mov edx, dword [esi + 8]
test bl, 8
jne 0x4586a8
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 0x45870b
test bl, 4
jne 0x4586d7
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 0x45870b
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x458730
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a091
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a087
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4587b3
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4588a9
cmp ebx, 0xc0
jb 0x4588a9
test bl, 0x20
jne 0x4587f5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4588a6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45881d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4588a9
mov edx, dword [esi + 8]
test bl, 8
jne 0x458843
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 0x4588a6
test bl, 4
jne 0x458872
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 0x4588a6
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4588cb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0aa
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0a0
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45894e
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x458997
cmp dword [ebp + 0x88], 0
je 0x456b13
cmp edi, dword [ebp + 0x84]
jbe 0x456b13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x456b13
mov esi, dword [esi]
test esi, esi
je 0x45a1cc
mov edi, 0xfffffff4
jmp 0x455d94
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x458a85
cmp ebx, 0xc0
jb 0x458a85
test bl, 0x20
jne 0x4589cd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458a82
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4589f7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458a85
mov edx, dword [esi + 8]
test bl, 8
jne 0x458a1d
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 0x458a80
test bl, 4
jne 0x458a4c
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 0x458a80
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x458aa7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c2]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x458c38
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x458bd7
cmp ebx, 0xc0
jb 0x458bd7
test bl, 0x20
jne 0x458b0b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x458bcf
test bl, 0x10
jne 0x458b30
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 0x458bcf
test bl, 8
jne 0x458b61
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 0x458bcf
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x458b9b
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 0x458bcf
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x458bf9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx ecx, byte [eax*8 + 0x50d2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d148], eax
je 0x458c38
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x458ad0
cmp dword [ebp + 0x88], 0
je 0x458c65
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458c65
cmp eax, dword [ebp + 0x84]
jbe 0x458c65
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x44d496
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0c3
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0b9
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x458ccc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458ccc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458cc0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x44c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a0dc
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a0d2
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x458d27
movzx ebx, byte [ecx]
jmp 0x458e15
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x458d3c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x458d30
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x458e15
test bl, 0x20
jne 0x458d5f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x458e0d
test bl, 0x10
jne 0x458d7f
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 0x458e0d
test bl, 8
jne 0x458da8
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 0x458e0d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x458ddd
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 0x458e0d
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x458e37
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c2]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x44c4b0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x458e6f
movzx ebx, byte [edi]
jmp 0x458f2e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x458e81
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x458e77
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x458f2e
test bl, 0x20
jne 0x458ea1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x458f26
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x458ebe
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x458f26
and eax, 0x3f
test bl, 8
jne 0x458ed9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x458f26
test bl, 4
jne 0x458efd
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 0x458f26
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x458f50
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx edx, byte [eax*8 + 0x50d2c2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d148], eax
je 0x454b86
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x458e50
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x458fb1
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4590ab
cmp ebx, 0xc0
jb 0x4590ab
test bl, 0x20
jne 0x458ff3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4590a8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45901d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4590ab
mov edx, dword [esi + 8]
test bl, 8
jne 0x459043
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 0x4590a6
test bl, 4
jne 0x459072
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 0x4590a6
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 + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x4590cd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x4590f4
cmp eax, 3
je 0x4590f4
xor eax, eax
jmp 0x4590f9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a10e
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a104
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x459162
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459263
cmp ebx, 0xc0
jb 0x459263
test bl, 0x20
jne 0x4591a4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459260
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4591ce
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459263
mov edx, dword [esi + 8]
test bl, 8
jne 0x4591f4
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 0x459257
test bl, 4
jne 0x459223
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 0x459257
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 0x45928e
cmp ebx, 0x40
je 0x45928e
cmp ebx, 0x60
je 0x45928e
cmp ebx, 0xa0
jb 0x459282
cmp ebx, 0xd7ff
jbe 0x45928e
cmp ebx, 0xe000
jae 0x45928e
xor eax, eax
jmp 0x459293
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44dc72
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a127
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a11d
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4592fc
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4593fd
cmp ebx, 0xc0
jb 0x4593fd
test bl, 0x20
jne 0x45933e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4593fa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459368
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4593fd
mov edx, dword [esi + 8]
test bl, 8
jne 0x45938e
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 0x4593f1
test bl, 4
jne 0x4593bd
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 0x4593f1
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 0x459440
je case.0x459460.8192
cmp ebx, 0x85
ja 0x45942c
je case.0x459460.8192
cmp ebx, 9
jb case.0x459460.8203
cmp ebx, 0xd
jbe case.0x459460.8192
cmp ebx, 0x20
jmp 0x459475
cmp ebx, 0xa0
je case.0x459460.8192
cmp ebx, 0x1680
jmp 0x459475
cmp ebx, 0x202f
ja 0x459467
je case.0x459460.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x459460.8203
movzx eax, byte [eax + 0x45a99c]
jmp dword [eax*4 + 0x45a994]
cmp ebx, 0x205f
je case.0x459460.8192
cmp ebx, 0x3000
je case.0x459460.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e940]
shl eax, 7
and ebx, 0x8000007f
jns 0x459499
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
cmp dword [eax*4 + 0x50d0d0], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x4594cc
jmp 0x44d32b
cmp dword [esi + 0x68], 0
jne 0x44dc72
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a140
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a136
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x45952c
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x459622
cmp ebx, 0xc0
jb 0x459622
test bl, 0x20
jne 0x45956e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45961f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459596
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x459622
mov edx, dword [esi + 8]
test bl, 8
jne 0x4595bc
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 0x45961f
test bl, 4
jne 0x4595eb
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 0x45961f
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 + 0x50e940]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x459645
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b40]
movzx eax, byte [eax*8 + 0x50d2c1]
mov eax, dword [eax*4 + 0x50d0d0]
cmp eax, 1
je 0x459671
cmp eax, 3
je 0x459671
cmp ebx, 0x5f
je 0x459671
xor eax, eax
jmp 0x459676
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x44d32b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a159
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a14f
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
test edi, edi
jne case.0x455da4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4596df
mov esi, dword [esi]
test esi, esi
je 0x45a1a8
jmp 0x455d94
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458956
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4597dc
cmp ebx, 0xc0
jb 0x4597dc
test bl, 0x20
jne 0x459721
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4597d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459749
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4597dc
mov edx, dword [esi + 8]
test bl, 8
jne 0x45976f
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 0x4597d2
test bl, 4
jne 0x45979e
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 0x4597d2
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 + 0x50d180]
lea eax, [eax*4 + 0x50d180]
cmp ebx, ecx
jb 0x4597fe
lea eax, [eax + 4]
cmp ebx, ecx
je 0x459843
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4597f1
cmp dword [esi + 0x68], 0
je 0x44dc72
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a172
push 0x134
call dword [0x29f82d8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x45a168
mov esi, dword [esi]
test esi, esi
je 0x45a19b
lea edi, [eax - 6]
jmp 0x455d89
cmp dword [esi + 0x68], 0
je 0x459808
jmp 0x44dc72
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 0x459851
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x44c52a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x459893
push ecx
call dword [0x29f82d4]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x44c52a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x457689
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x457495
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45782b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x457a30
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x457bf9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x45826a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45841c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4585be
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458759
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4588f4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459108
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4594d2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x459685
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x45980e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4592a2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x457f1d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x458c6b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x44c4b0
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 + 0x50cfb8]
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 0x44c4a0
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 0x459c96
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 0x459c96
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x4599ef
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 0x459c96
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x4599ef
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 0x459c96
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x4599ef
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 0x44c4a0
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 0x459e86
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 0x459e86
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 0x459e86
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 0x459e86
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 0x459e86
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 0x459c96
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 0x459c96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x459c47
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 0x44c4a0
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 + 0x50cfb8]
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 0x44c4a0
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 0x459e86
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 0x459e86
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 0x459e86
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x459e7d
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 0x44c4a0
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 0x459c96
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 0x459c96
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 0x459e86
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 0x459e86
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 0x459e86
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x459e7d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x459e7d
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