Function at 0x40cc10
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 0x40cc9e
mov esi, dword [esi]
test esi, esi
je 0x41a941
mov edi, 0xfffffff8
jmp 0x416549
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x40ccba
mov esi, dword [esi]
test esi, esi
je 0x41a94e
mov edi, 0xffffffeb
jmp 0x416549
cmp dword [ebp + 0x98], 2
jne 0x40ccf1
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 0x40ccf1
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.0x40cd24.98
movzx eax, byte [edx + 0x41ab5c]
jmp dword [eax*4 + 0x41aa10]
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 0x41a1a5
push 0x134
call dword [0x52d828]
mov edi, eax
add esp, 4
test edi, edi
jne 0x41a19f
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a1f5
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a1ef
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a213
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a20d
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x41a231
push 0x134
call dword [0x52d828]
mov edi, eax
add esp, 4
test edi, edi
jne 0x41a22b
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a246
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a240
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x40ce7e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x502f10]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x40ccf1
mov edi, dword [esi + 4]
test edi, edi
jne 0x41a264
push 0x134
call dword [0x52d828]
mov edi, eax
add esp, 4
test edi, edi
jne 0x41a25e
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a279
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a273
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x41a297
push 0x134
call dword [0x52d828]
mov edi, eax
add esp, 4
test edi, edi
jne 0x41a291
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x417a88
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.0x40cd24.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 0x4165eb
mov dword [esi + 0x54], ebx
jmp 0x40d78f
mov dword [esi + 0x54], ebx
jmp 0x40d7b3
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 0x40d0f8
mov edi, dword [0x530580]
test edi, edi
je 0x40d0e4
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 0x40d09e
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 0x40d0d3
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
jns 0x40d0e4
mov esi, dword [esi]
test esi, esi
je 0x416a2c
jmp 0x416549
movzx eax, byte [0x502f86]
add dword [esi + 0xc], eax
movzx eax, byte [0x502f86]
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.0x40d11e.146
movzx eax, byte [eax + 0x41ac18]
jmp dword [eax*4 + 0x41ac00]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x40d11e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x40d157
cmp edx, dword [edi + 4]
je 0x40d157
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x416883
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x416883
cmp dword [ebp + 0xa4], ebx
je case.0x40d11e.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.0x40d11e.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 0x416883
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x40d1a0
jmp 0x416883
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 0x40d204
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x40d204
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x40d11e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x40d11e.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 0x416883
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 0x40d259
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x40d268
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x40d237
jmp 0x416883
mov dword [esi + 0x58], 1
jmp 0x416883
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a2ac
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a2a6
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x40d304
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x40cce6
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 0x40cce6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x40d353
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 0x40cce6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x40d3a6
cmp edx, 0x9f
je 0x40d3a6
cmp dword [ebp + 0xa4], ebx
jne 0x40d3a6
cmp dword [ebp + 0x5c], ebx
jne 0x40d395
cmp dword [ebp + 0x60], ebx
je 0x40d3a6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x40d3a6
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
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 0x416a2c
jmp 0x416549
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x40d3ff
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x41697d
mov dword [esi + 0x58], ebx
jmp 0x41697d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x40d42b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x416acb
mov dword [esi + 0x58], ebx
jmp 0x416acb
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x40d492
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x40d478
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x413c76.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x40d474
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x40d468
test edx, edx
jg 0x40d450
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x40cce6
mov dword [ebp + 0x84], eax
jmp 0x40cce6
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 0x40d478
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416550
mov edi, dword [0x530580]
test edi, edi
je 0x40d59c
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 0x40d556
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 0x40d58b
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
jns 0x40d59c
mov esi, dword [esi]
test esi, esi
je 0x416a2c
jmp 0x416549
add dword [esi + 0xc], 6
jmp 0x40ccea
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 0x40d5c6
xor edx, edx
jmp 0x40d5d3
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 0x40d5f3
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x40d5ed
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x40d654
mov ecx, dword [ecx]
test ecx, ecx
jne 0x40d5e0
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 0x40d668
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x416bb4
mov esi, dword [esi]
test esi, esi
je 0x41a972
mov edi, 0xffffffe6
jmp 0x416549
shl eax, 2
push eax
call dword [0x52d820]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x40d62e
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x40d691
jmp 0x40ccf1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a2e7
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a2e1
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x40d6f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a305
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a2ff
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x40d743
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x40ccf1
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 0x40d78f
cmp eax, 0x8b
jne 0x40d7b3
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 0x40d7d0
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 0x41769d
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 0x40d84d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a697
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a68d
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x40d8a8
cmp al, 0x81
je 0x40d8a8
mov dword [esi + 0x38], ebx
jmp 0x40d8b9
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 0x40d8c6
cmp al, 0x80
jbe 0x40d8ca
cmp al, 0x82
jne 0x40d8f6
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 0x41a9a6
mov edi, 1
jmp 0x416549
cmp al, 0x85
je 0x40d90a
cmp al, 0x8a
je 0x40d90a
cmp al, 0x86
je 0x40d90a
cmp al, 0x8b
jne 0x40d9d1
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 0x40d946
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x40d946
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x40d8dc
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 0x40d975
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x40d9d1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x40d995
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x40d995
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 0x40d9d1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x40da07
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 0x41a97f
mov edi, 0xfffffc1a
jmp 0x416549
cmp cl, 0x78
je 0x40da80
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x40da80
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x40da4e
test ecx, ecx
jne 0x41a326
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a320
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test ecx, ecx
jne 0x41a347
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a341
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x416ce7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a365
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a35f
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
cmp dword [ebp + 0x44], ebx
je case.0x40cd24.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x40cd24.1
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x40dba8
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
cmp dword [ebp + 0x44], ebx
je 0x40db1a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x40db1a
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x40e564
cmp ecx, dword [ebp + 0x78]
je 0x40db80
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x40db58
cmp ecx, edx
jbe 0x40db80
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0041cf70
add esp, 0x14
test eax, eax
jne 0x40e564
jmp 0x40db80
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x40db80
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x40db80
cmp edi, 1
je 0x40e564
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x40e564
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416549
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x40dae5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x40ccf1
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x40dc6a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x40dbe5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x40e564
jmp 0x40dc09
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x40dc09
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x40dc09
cmp edx, 1
je 0x40e564
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x40e564
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x413c76.14
cmp dword [ebp + 0x18], ebx
jne case.0x413c76.14
cmp dword [edi], 2
jne case.0x413c76.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x413c76.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x413c76.14
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416549
cmp dword [ebp + 0x48], ebx
jne 0x40daeb
cmp dword [ebp + 0x88], ebx
je 0x40e564
cmp ecx, dword [ebp + 0x84]
jbe 0x40e564
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40e564
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416549
cmp dword [ebp + 0x48], ebx
jne 0x40daeb
cmp dword [ebp + 0x58], ebx
je case.0x40cd24.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x40daeb
cmp dword [ebp + 0x88], ebx
je 0x40dba8
cmp eax, dword [ebp + 0x84]
jbe 0x40dba8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40dba8
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416549
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x40dd75
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x40dd3d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x40dd65
jmp 0x40dc09
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x40dc09
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x40dc09
cmp edx, 1
je 0x40dd65
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x40dc09
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x40dc09
cmp dword [ebp + 0x88], ebx
je 0x40e564
cmp ecx, dword [ebp + 0x84]
jbe 0x40e564
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40e564
jmp 0x40dc56
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x40e077
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x40ddc5
mov dword [esi + 0x5c], ebx
jmp 0x40defe
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x40ddda
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x40ddd0
cmp edx, dword [ebp + 0x84]
jae 0x40dde8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x40de9c
test bl, 0x20
jne 0x40de10
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x40de9c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x40de2a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x40de92
and eax, 0x3f
test bl, 8
jne 0x40de45
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x40de92
test bl, 4
jne 0x40de69
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 0x40de92
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 0x40df37
cmp ebx, 0x5f
jne 0x40deb4
mov dword [esi + 0x5c], 1
jmp 0x40defe
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x40ded6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x40df48
cmp eax, 3
je 0x40df48
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x40df4f
cmp dword [ebp + 0x88], 0
je 0x40df2b
cmp edx, dword [ebp + 0x84]
jbe 0x40df2b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
mov dword [esi + 0x54], 0
jmp 0x40e1b5
cmp ebx, 0x100
jae 0x40def9
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x40def9
mov eax, 1
jmp 0x40defb
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x40dff9
test bl, 0x20
jne 0x40df6f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x40dff1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x40df89
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x40dff1
and eax, 0x3f
test bl, 8
jne 0x40dfa4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x40dff1
test bl, 4
jne 0x40dfc8
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 0x40dff1
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 0x40e05c
cmp ebx, 0x5f
jne 0x40e010
mov dword [esi + 0x54], 1
jmp 0x40e1b5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x40e032
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x40e06d
cmp eax, 3
je 0x40e06d
xor eax, eax
jmp 0x40e1b2
cmp ebx, 0x100
jae 0x40e055
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x40e055
mov eax, 1
jmp 0x40e1b2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x40e087
mov dword [esi + 0x5c], ebx
jmp 0x40e122
cmp eax, dword [ebp + 0x84]
ja 0x40e096
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x40e10e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x40e0b0
mov dword [esi + 0x5c], 1
jmp 0x40e122
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ecx, 0x8000007f
jns 0x40e0d2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x40e100
cmp eax, 3
je 0x40e100
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x40e11f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x40e11f
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 0x40e163
cmp dword [ebp + 0x88], ebx
je 0x40e15e
cmp eax, dword [ebp + 0x84]
jbe 0x40e15e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40e15e
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416550
mov dword [esi + 0x54], ebx
jmp 0x40e1b5
cmp dword [ebp + 0x54], ebx
je 0x40e1a2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x40e179
mov dword [esi + 0x54], 1
jmp 0x40e1b5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ecx, 0x8000007f
jns 0x40e19b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x40e034
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 0x40e1d0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x40e1d8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x40ccf1
jmp 0x40daeb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x40e21d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x40e248
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x40daeb
jmp 0x40e248
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x40e248
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x40e248
cmp edx, 1
je 0x40daeb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x40daeb
cmp dword [ebp + 0x88], ebx
je case.0x40cd24.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x40cd24.13
cmp dword [ebp + 0x18], ebx
jne case.0x40cd24.13
cmp dword [ebp + 0x1c], 2
jne case.0x40cd24.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x40cd24.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x40e2a6
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
cmp eax, dword [ebp + 0x84]
jbe case.0x413c76.14
jmp 0x40dc42
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x40dba8
cmp eax, dword [ebp + 0x78]
jae 0x40dba8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x40dba8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x40e2c2
inc dword [esi + 0xc]
jmp 0x40ccf1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40e289
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x40ccf1
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x40e31d
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
cmp edi, dword [ebp + 0x84]
jbe case.0x413c76.14
jmp 0x40dc42
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40e419
cmp ebx, 0xc0
jb 0x40e419
test bl, 0x20
jne 0x40e35a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40e416
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40e384
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40e419
mov edx, dword [esi + 8]
test bl, 8
jne 0x40e3aa
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 0x40e40d
test bl, 4
jne 0x40e3d9
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 0x40e40d
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 0x40e564
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x40e564
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416550
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40e54b
cmp ebx, 0xc0
jb 0x40e54b
test bl, 0x20
jne 0x40e48c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40e548
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40e4b6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40e54b
mov edx, dword [esi + 8]
test bl, 8
jne 0x40e4dc
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 0x40e53f
test bl, 4
jne 0x40e50b
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 0x40e53f
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 0x40d4ad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x40d4ad
inc dword [esi + 0xc]
jmp 0x40ccea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40e674
cmp ebx, 0xc0
jb 0x40e674
test bl, 0x20
jne 0x40e5b5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40e671
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40e5df
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40e674
mov edx, dword [esi + 8]
test bl, 8
jne 0x40e605
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 0x40e668
test bl, 4
jne 0x40e634
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 0x40e668
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 0x40e564
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x40e42c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40e794
cmp ebx, 0xc0
jb 0x40e794
test bl, 0x20
jne 0x40e6d5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40e791
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40e6ff
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40e794
mov edx, dword [esi + 8]
test bl, 8
jne 0x40e725
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 0x40e788
test bl, 4
jne 0x40e754
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 0x40e788
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 0x40d4ad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x40d4ad
inc dword [esi + 0xc]
jmp 0x40ccea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40e8bd
cmp ebx, 0xc0
jb 0x40e8bd
test bl, 0x20
jne 0x40e7fe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40e8ba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40e828
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40e8bd
mov edx, dword [esi + 8]
test bl, 8
jne 0x40e84e
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 0x40e8b1
test bl, 4
jne 0x40e87d
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 0x40e8b1
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 0x40e564
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x40e42c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40e9dd
cmp ebx, 0xc0
jb 0x40e9dd
test bl, 0x20
jne 0x40e91e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40e9da
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40e948
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40e9dd
mov edx, dword [esi + 8]
test bl, 8
jne 0x40e96e
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 0x40e9d1
test bl, 4
jne 0x40e99d
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 0x40e9d1
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 0x40d4ad
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x40d4ad
inc dword [esi + 0xc]
jmp 0x40ccea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40eb06
cmp ebx, 0xc0
jb 0x40eb06
test bl, 0x20
jne 0x40ea47
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40eb03
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40ea71
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40eb06
mov edx, dword [esi + 8]
test bl, 8
jne 0x40ea97
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 0x40eafa
test bl, 4
jne 0x40eac6
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 0x40eafa
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 0x40eb7f
je 0x40eb21
cmp ebx, 0xa
je 0x40e564
jbe 0x40e432
cmp ebx, 0xc
jmp 0x40eb99
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x40eb6a
cmp dword [ebp + 0x88], 0
je 0x40e564
cmp eax, dword [ebp + 0x84]
jbe 0x40e564
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40e564
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416550
cmp byte [eax], 0xa
jne 0x40e564
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x40ccea
cmp ebx, 0x85
je 0x40eb9f
cmp ebx, 0x2027
jbe 0x40e432
cmp ebx, 0x2029
ja 0x40e432
cmp dword [ebp + 0x68], 0
jmp 0x40e42c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40ecb0
cmp ebx, 0xc0
jb 0x40ecb0
test bl, 0x20
jne 0x40ebf1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40ecad
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40ec1b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40ecb0
mov edx, dword [esi + 8]
test bl, 8
jne 0x40ec41
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 0x40eca4
test bl, 4
jne 0x40ec70
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 0x40eca4
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 0x40ece8
je 0x40d4ad
cmp ebx, 0xa0
ja 0x40ecdd
je 0x40d4ad
cmp ebx, 9
je 0x40d4ad
cmp ebx, 0x20
jmp 0x40e55e
cmp ebx, 0x1680
jmp 0x40e55e
cmp ebx, 0x205f
ja 0x40ed19
je 0x40d4ad
cmp ebx, 0x2000
jb 0x40e564
cmp ebx, 0x200a
jbe 0x40d4ad
cmp ebx, 0x202f
jmp 0x40e55e
cmp ebx, 0x3000
je 0x40d4ad
inc dword [esi + 0xc]
jmp 0x40ccea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40ee35
cmp ebx, 0xc0
jb 0x40ee35
test bl, 0x20
jne 0x40ed76
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40ee32
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40eda0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40ee35
mov edx, dword [esi + 8]
test bl, 8
jne 0x40edc6
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 0x40ee29
test bl, 4
jne 0x40edf5
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 0x40ee29
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 0x40ee6d
je 0x40e564
cmp ebx, 0xa0
ja 0x40ee62
je 0x40e564
cmp ebx, 9
je 0x40e564
cmp ebx, 0x20
jmp 0x40e42c
cmp ebx, 0x1680
jmp 0x40e42c
cmp ebx, 0x205f
ja 0x40ee9e
je 0x40e564
cmp ebx, 0x2000
jb 0x40e432
cmp ebx, 0x200a
jbe 0x40e564
cmp ebx, 0x202f
jmp 0x40e42c
cmp ebx, 0x3000
jmp 0x40e42c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40efb1
cmp ebx, 0xc0
jb 0x40efb1
test bl, 0x20
jne 0x40eef2
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40efae
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40ef1c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40efb1
mov edx, dword [esi + 8]
test bl, 8
jne 0x40ef42
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 0x40efa5
test bl, 4
jne 0x40ef71
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 0x40efa5
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 0x40efd9
je 0x40e432
cmp ebx, 0xa
jb 0x40e564
cmp ebx, 0xd
jbe 0x40e432
inc dword [esi + 0xc]
jmp 0x40ccea
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x40e564
jmp 0x40e432
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x40f0f5
cmp ebx, 0xc0
jb 0x40f0f5
test bl, 0x20
jne 0x40f036
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40f0f2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40f060
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x40f0f5
mov edx, dword [esi + 8]
test bl, 8
jne 0x40f086
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 0x40f0e9
test bl, 4
jne 0x40f0b5
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 0x40f0e9
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 0x40f11a
je 0x40e564
cmp ebx, 0xa
jb 0x40d4ad
cmp ebx, 0xd
jbe 0x40e564
jmp 0x40d4ad
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x40d4ad
inc dword [esi + 0xc]
jmp 0x40ccea
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x40f22d
cmp ebx, 0xc0
jb 0x40f22d
test bl, 0x20
jne 0x40f179
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40f22a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40f1a1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x40f22d
mov edx, dword [esi + 8]
test bl, 8
jne 0x40f1c7
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 0x40f22a
test bl, 4
jne 0x40f1f6
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 0x40f22a
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 + 0x504898]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x40f250
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 + 0x506a98]
cmp eax, 0xa
ja case.default.0x40f26a
jmp dword [eax*4 + 0x41ac2c]
cmp dword [esi + 0x9c], 0xf
jne 0x40cce6
jmp 0x40daeb
mov al, byte [edx*8 + 0x503219]
cmp al, 9
je 0x40f29a
cmp al, 5
je 0x40f29a
cmp al, 8
je 0x40f29a
xor ecx, ecx
jmp 0x40f29f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x40cce6
jmp 0x40daeb
movzx ecx, byte [edx*8 + 0x503219]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x503028]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x40cce6
jmp 0x40daeb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x503219]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x40cce6
jmp 0x40daeb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x503218]
jmp 0x40f2fb
movzx eax, byte [edx*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x40f29a
cmp eax, 3
je 0x40f29a
xor ecx, ecx
jmp 0x40f29f
cmp ebx, 0x180e
ja 0x40f393
je case.0x40f26a.0
cmp ebx, 0x85
ja 0x40f37f
je case.0x40f26a.0
cmp ebx, 9
jb case.0x40f3b3.8203
cmp ebx, 0xd
jbe case.0x40f26a.0
cmp ebx, 0x20
jmp 0x40f3cc
cmp ebx, 0xa0
je case.0x40f26a.0
cmp ebx, 0x1680
jmp 0x40f3cc
cmp ebx, 0x202f
ja 0x40f3ba
je case.0x40f26a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x40f3b3.8203
movzx eax, byte [ebx + 0x41ac60]
jmp dword [eax*4 + 0x41ac58]
cmp ebx, 0x205f
je case.0x40f26a.0
cmp ebx, 0x3000
je case.0x40f26a.0
movzx eax, byte [edx*8 + 0x503219]
xor ecx, ecx
cmp dword [eax*4 + 0x503028], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x40f307
movzx eax, byte [edx*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x40f29a
cmp eax, 3
je 0x40f29a
cmp ebx, 0x5f
je 0x40f29a
xor ecx, ecx
jmp 0x40f29f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x5030d8]
lea eax, [eax*4 + 0x5030d8]
cmp ebx, ecx
jb 0x40f44d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x40f45f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x40f440
cmp dword [esi + 0x9c], 0x10
jne 0x40cce6
jmp 0x40daeb
cmp dword [esi + 0x9c], 0x10
je 0x40cce6
jmp 0x40daeb
cmp ebx, 0x24
je 0x40f29a
cmp ebx, 0x40
je 0x40f29a
cmp ebx, 0x60
je 0x40f29a
cmp ebx, 0xa0
jb 0x40f4a0
cmp ebx, 0xd7ff
jbe 0x40f29a
cmp ebx, 0xe000
jae 0x40f29a
xor ecx, ecx
jmp 0x40f29f
mov esi, dword [esi]
test esi, esi
je case.default.0x416564
mov edi, 0xfffffff2
jmp 0x416549
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x40f5d2
cmp ebx, 0xc0
jb 0x40f5d2
test bl, 0x20
jne 0x40f510
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x40f5cf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40f53f
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 0x40f5d2
mov edx, dword [esi + 8]
test bl, 8
jne 0x40f565
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 0x40f5c8
test bl, 4
jne 0x40f594
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 0x40f5c8
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x40f5f4
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x50321a]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40f786
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x40f71e
cmp ebx, 0xc0
jb 0x40f71e
test bl, 0x20
jne 0x40f655
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x40f716
test bl, 0x10
jne 0x40f67a
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 0x40f716
test bl, 8
jne 0x40f6a8
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 0x40f716
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x40f6e2
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 0x40f716
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x40f740
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx ecx, byte [eax*8 + 0x50321a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5030a0], eax
je 0x40f786
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 0x40f620
cmp dword [ebp + 0x88], 0
je 0x40e564
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x40e564
cmp eax, dword [ebp + 0x84]
jbe 0x40e564
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40e564
jmp 0x40dc56
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 0x40f8b4
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 0x40f844
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x40f84d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x40f820
jmp 0x40f8b4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x40f8b4
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 0x40f8a4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x40f8a4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x40f8ae
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.0x40f8cf
movzx eax, byte [eax + 0x41ac94]
jmp dword [eax*4 + 0x41ac8c]
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 + 0x502568]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x502574]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x40f95d
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x40f95d
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 0x40f959
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x40ccf1
jns 0x40f981
cmp dword [esi + 0x90], 0
je 0x40ccf1
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x40f9bf
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.0041b190
add esp, 0x14
test eax, eax
js 0x40f9f1
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x40f990
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x40ccf1
cmp dword [esp + 0x80], 0
je 0x40fa1a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x416e02
cmp eax, 0xfffffffe
jne 0x40f9fc
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x413c76.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x413c76.14
jmp 0x40e295
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x40fa30
cmp edi, dword [esi + 0x8c]
jge 0x416e51
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0041b190
add esp, 0x14
test eax, eax
js 0x40fa65
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x40fa30
cmp eax, 0xfffffffe
jne 0x416e51
cmp dword [ebp + 0x88], 0
je 0x416e51
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x416e51
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x416e51
jmp 0x40dc56
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0041b190
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x40fb29
cmp eax, 0xfffffffe
jne 0x40fad5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x41742d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x41742d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x41742d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x41742d.14
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x416554
add dword [esi + 8], eax
jmp 0x40ccea
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.0x40fb57
movzx eax, byte [eax + 0x41aca4]
jmp dword [eax*4 + 0x41ac9c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x40fb7a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x40fb85
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x502568]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x502574]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x40fc1c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x40fc1c
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 0x40fc02
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x40fc1c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x40fd7c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x40fdd1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x40fd2c
test bl, 0x20
jne 0x40fc7a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x40fd29
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x40fca1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x40fd27
test bl, 8
jne 0x40fcc4
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 0x40fd27
test bl, 4
jne 0x40fcf3
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 0x40fd27
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 0x40fd3d
cmp dword [esi + 0x9c], 0x6e
jmp 0x40fd52
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.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x40fc40
jmp 0x40fdc3
cmp dword [ebp + 0x88], 0
je case.0x413c76.14
mov eax, dword [esi + 8]
jmp 0x40e295
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x40fdca
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40fd67
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.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x40fd90
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x40ccea
test ebx, ebx
je 0x40fdfa
test edx, edx
jne 0x41a067
mov dword [esi + 0x84], eax
jmp 0x416eeb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x40ffb2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x40ff9f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x40ff77
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x40ff26
test bl, 0x20
jne 0x40fe6b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x40ff26
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x40fe93
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x40ff1c
and eax, 0x3f
test bl, 8
jne 0x40feb9
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 0x40ff1c
test bl, 4
jne 0x40fee8
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 0x40ff1c
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 0x40ff37
cmp dword [esi + 0x9c], 0x6e
jmp 0x40ff4c
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 0x40ff9f
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 0x40fe21
jmp 0x40ff9f
cmp dword [ebp + 0x88], 0
je 0x40ff9f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x40ff9f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x417eac
jmp 0x40ccea
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x41002a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x410002
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 0x41002a
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 0x40ffc1
jmp 0x41002a
cmp dword [ebp + 0x88], 0
je 0x41002a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x41002a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x416f2b
jmp 0x40ccea
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.0x410075
movzx eax, byte [eax + 0x41acb8]
jmp dword [eax*4 + 0x41acb0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x410098
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x4100a3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x502568]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x502574]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x41013a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x41013a
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 0x410120
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x41013a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x410275
jmp 0x410150
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x41024a
cmp edx, 0xc0
jb 0x41024a
test dl, 0x20
jne 0x410198
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x410247
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4101bf
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x410245
test dl, 8
jne 0x4101e2
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 0x410245
test dl, 4
jne 0x410211
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 0x410245
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.0041c7b0
add esp, 0xc
test eax, eax
je case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x410150
jmp 0x41027c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x40ccf1
cmp dword [esp + 0x84], 0
jne 0x41a078
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 0x41040d
jmp 0x4102c0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4103e3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4103ab
cmp edx, 0xc0
jb 0x4103ab
test dl, 0x20
jne 0x41030c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4103ab
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x41032b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4103a1
and eax, 0x3f
test dl, 8
jne 0x41034b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4103a1
test dl, 4
jne 0x410374
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 0x4103a1
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.0041c7b0
add esp, 0xc
test eax, eax
je 0x41040d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x4102c0
jmp 0x41040d
cmp dword [ebp + 0x88], 0
je 0x410406
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x410406
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x40dc56
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x40ccf1
jmp 0x417cc1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4105f9
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 0x410580
test al, 0x20
jne 0x410480
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 0x410580
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x4104ba
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 0x410580
test al, 8
jne 0x4104f6
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 0x410580
test al, 4
mov eax, dword [esi + 0x80]
jne 0x41053b
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 0x410580
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 0x4105b9
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
cmp edx, edi
jb case.0x413c76.14
cmp edx, dword [ebp + 0x84]
jbe case.0x413c76.14
jmp 0x40dc42
test ecx, ecx
jle 0x4105ee
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.0x413c76.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4105c0
dec dword [esi + 0x88]
jmp 0x40ccea
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x410646
cmp dword [ebp + 0x88], ebx
je 0x40d4ad
cmp edi, dword [ebp + 0x84]
jbe 0x40d4ad
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x40d4ad
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416550
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 0x41095b
jmp 0x40daeb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40e300
cmp dword [esp + 0x8c], ebx
je 0x41093c
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 0x4107cb
test al, 0x20
jne 0x4106cb
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 0x4107cb
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x410705
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 0x4107cb
test al, 8
jne 0x410741
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 0x4107cb
test al, 4
mov eax, dword [esi + 0x80]
jne 0x410786
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 0x4107cb
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 0x4107f9
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x40daeb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x40ccea
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x4108db
test bl, 0x20
jne 0x410829
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4108d8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x410850
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4108d6
test bl, 8
jne 0x410873
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 0x4108d6
test bl, 4
jne 0x4108a2
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 0x4108d6
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 0x40ccea
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x504898]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x410915
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
mov eax, dword [eax*8 + 0x50321c]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x40ccf1
jmp 0x40daeb
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 0x40daeb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x40ccea
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 0x410a8d
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 0x4109c4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x4109cf
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x410a8d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x410a94
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x410a94
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x410a94
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 + 0x502568]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x502574]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x410a8d
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x410f08
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 0x410bdb
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x410af1
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 0x410bdb
test bl, 0x10
jne 0x410b26
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 0x410bdb
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 0x410b64
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 0x410bdb
test bl, 4
jne 0x410b9d
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 0x410bdb
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 0x410f17
cmp dword [esi + 0x9c], 0x2e
jb 0x410c4c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x504898]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x410c23
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
mov ecx, dword [eax*8 + 0x50321c]
add ecx, edi
cmp ecx, edi
je 0x410c4c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0041c750
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x410c53
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x410d86
jmp 0x410c70
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 0x410cf4
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x410ca8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410cb1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x410c97
cmp edi, 0xfffffffc
je 0x410d68
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x410cea
cmp edi, 0xfffffffd
je 0x410d68
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x410cea
cmp edi, 0xfffffffe
je 0x410d68
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x410cea
cmp edi, 0xffffffff
je 0x410d68
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x410d68
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x40f9fc
sub ecx, ebx
cmp edi, ecx
ja 0x40f9fc
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x410d26
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410d2b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x410d15
cmp edi, 0xfffffffc
je 0x410d68
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40f9fc
cmp edi, 0xfffffffd
je 0x410d68
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40f9fc
cmp edi, 0xfffffffe
je 0x410d68
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40f9fc
cmp edi, 0xffffffff
je 0x410d68
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x40f9fc
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x410c70
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x40ccf1
cmp dword [esp + 0x84], 0
jne 0x41a089
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 0x410ef5
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 0x410e4c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x410e08
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410e11
add ecx, 4
add edx, 4
sub edi, 4
jae 0x410df7
cmp edi, 0xfffffffc
je 0x410ea8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x410e42
cmp edi, 0xfffffffd
je 0x410ea8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x410e42
cmp edi, 0xfffffffe
je 0x410ea8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x410e42
cmp edi, 0xffffffff
je 0x410ea8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x410ea8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x410ec8
sub ecx, ebx
cmp edi, ecx
ja 0x410ec8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x410e76
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410e7b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x410e65
cmp edi, 0xfffffffc
je 0x410ea8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x410ec8
cmp edi, 0xfffffffd
je 0x410ea8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x410ec8
cmp edi, 0xfffffffe
je 0x410ea8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x410ec8
cmp edi, 0xffffffff
je 0x410ea8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x410ec8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x410dd0
jmp 0x410ef5
cmp dword [ebp + 0x88], 0
je 0x410ef5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x410ef5
cmp eax, dword [ebp + 0x84]
jbe 0x410ef5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x41806c
jmp 0x40ccea
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x41100f
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 0x410f74
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40fd67
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x410f67
cmp dword [esi + 0x94], ecx
jne case.0x413c76.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x410f44
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x40ccea
cmp dword [esp + 0x84], 0
je 0x410f9b
mov dword [esi + 0x84], eax
jmp 0x416fcb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x411002
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x410fda
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x410fcb
cmp dword [esi + 0x94], ecx
jne 0x411002
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x410fb0
jmp 0x411002
cmp dword [ebp + 0x88], 0
je 0x411002
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x411002
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
test edi, edi
je 0x41700b
jmp 0x40ccea
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x41104a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x411020
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x40ccf1
cmp dword [esp + 0x84], 0
je 0x411078
mov dword [esi + 0x84], eax
jmp 0x417098
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4110dc
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4110b4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4110dc
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x411090
jmp 0x4110dc
cmp dword [ebp + 0x88], 0
je 0x4110dc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4110dc
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x4170d8
jmp 0x40ccf1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x411114
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x413c76.14
jmp 0x40dc42
test edi, edi
je 0x41138c
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 0x411215
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x411152
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x411212
test bl, 0x10
jne 0x411173
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 0x411212
test bl, 8
jne 0x41119e
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 0x411215
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x4111d7
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 0x411212
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 0x411308
test dl, 0x20
jne 0x41124f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4112fe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x411276
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4112fc
test dl, 8
jne 0x411299
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 0x4112fc
test dl, 4
jne 0x4112c8
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 0x4112fc
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 0x411325
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x40ccf1
jmp 0x40daeb
cmp ebx, 0x7f
jbe 0x411362
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x504898]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x41134d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
mov ecx, dword [eax*8 + 0x50321c]
add ecx, ebx
jmp 0x411369
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x40daeb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x40ccf1
jmp 0x40daeb
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.0x413c76.14
cmp dword [esi + 0x9c], 0x20
jne 0x41095b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x413c76.14
add dword [esi + 0xc], 2
jmp 0x40ccea
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 0x411526
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 0x41142b
cmp al, 0x4f
je 0x41142b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x411526
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x411526
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x411526
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x411526
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x411526
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 0x411526
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 + 0x502568]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x502574]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x411526
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 0x411681
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x411681
test al, 0x20
jne 0x411578
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 0x411681
test al, 0x10
jne 0x4115ab
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 0x411681
test al, 8
jne 0x4115ed
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 0x411681
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x411638
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 0x41167a
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 0x411aa5
test edx, edx
je 0x4116dc
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x4116dc
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x504898]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4116c0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
mov eax, dword [eax*8 + 0x50321c]
add eax, edi
jmp 0x4116e9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x411830
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x41187b
jmp 0x411710
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x411809
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x41174a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x411806
test cl, 0x10
jne 0x41176b
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 0x411806
test cl, 8
jne 0x411795
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 0x411806
test cl, 4
jne 0x4117cb
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 0x411806
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.0x413c76.14
cmp dword [esi + 0x94], ecx
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x411710
jmp 0x411874
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x411874
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40fd67
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x413c76.14
cmp dword [esi + 0x94], ecx
je case.0x413c76.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x411840
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x40ccea
test ebx, ebx
je 0x4118a4
test edx, edx
jne 0x41a09a
mov dword [esi + 0x84], eax
jmp 0x41716f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x411a2d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x411a1a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4119f2
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4119ce
test dl, 0x20
jne 0x411902
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4119ce
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x41192c
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 0x4119cc
test dl, 8
jne 0x411958
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 0x4119cc
test dl, 4
jne 0x411990
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 0x4119cc
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 0x411a1a
cmp dword [esi + 0x94], edx
je 0x411a1a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4118c4
jmp 0x411a1a
cmp dword [ebp + 0x88], 0
je 0x411a1a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x411a1a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x41824c
jmp 0x40ccea
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x411a92
jmp 0x411a40
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x411a6a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x411a92
cmp dword [esi + 0x94], ecx
je 0x411a92
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x411a40
jmp 0x411a92
cmp dword [ebp + 0x88], 0
je 0x411a92
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x411a92
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x4171af
jmp 0x40ccea
test edx, edx
je 0x411bc7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x411c05
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x411bac
test dl, 0x20
jne 0x411afa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x411ba9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x411b21
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x411ba7
test dl, 8
jne 0x411b44
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 0x411ba7
test dl, 4
jne 0x411b73
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 0x411ba7
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.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x411ac0
jmp 0x411bfe
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x411c05
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x411bd4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x40ccea
cmp dword [esp + 0x84], 0
je 0x411c34
test edx, edx
jne 0x41a0af
mov dword [esi + 0x84], eax
jmp 0x41723c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x411db8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x411da5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x411d7d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x411d61
test dl, 0x20
jne 0x411c92
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x411d61
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x411cbc
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 0x411d5f
test dl, 8
jne 0x411ceb
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 0x411d5f
test dl, 4
jne 0x411d23
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 0x411d5f
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 0x411da5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x411c54
jmp 0x411da5
cmp dword [ebp + 0x88], 0
je 0x411da5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x411da5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x418410
jmp 0x40ccea
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x411e12
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x411dea
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x411e12
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x411dc6
jmp 0x411e12
cmp dword [ebp + 0x88], 0
je 0x411e12
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x411e12
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x41727c
jmp 0x40ccea
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 0x411f64
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 0x411f64
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x411f64
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x411f64
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x411f64
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 0x411f64
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x502513]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50251f]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x411f64
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 0x411f86
cmp ecx, 0xf
je 0x411f86
mov dword [esi + 0x60], 0xffffffff
jmp 0x411fa9
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 0x413f4b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x412d58
cmp eax, 0xa
ja case.default.0x40f26a
jmp dword [eax*4 + 0x41acc4]
cmp dword [esi + 0x68], ebx
jne 0x40daeb
mov edx, 1
cmp ecx, edx
jl 0x413f4b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x41202f
cmp ecx, 0xc0
jb 0x41202f
test cl, 0x20
jne 0x41200b
inc eax
jmp 0x41202c
test cl, 0x10
jne 0x412015
add eax, 2
jmp 0x41202c
test cl, 8
jne 0x41201f
add eax, 3
jmp 0x41202c
test cl, 4
jne 0x412029
add eax, 4
jmp 0x41202c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x411fe8
jmp 0x413f4b
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
mov eax, dword [esi + 8]
jmp 0x40e295
mov edi, 1
cmp ecx, edi
jl 0x413f4b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x41215a
cmp ebx, 0xc0
jb 0x41215a
test bl, 0x20
jne 0x4120a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x412157
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4120cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x412155
test bl, 8
jne 0x4120f2
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 0x412155
test bl, 4
jne 0x412121
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 0x412155
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x41217c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp eax, 9
je 0x4121a1
cmp eax, 5
je 0x4121a1
cmp eax, 8
je 0x4121a1
xor eax, eax
jmp 0x4121a6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x412060
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f4b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4122c8
cmp ebx, 0xc0
jb 0x4122c8
test bl, 0x20
jne 0x412218
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4122c5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x41223f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4122c5
test bl, 8
jne 0x412262
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 0x4122c5
test bl, 4
jne 0x412291
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 0x4122c5
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4122ea
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4121d0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f4b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x41242b
cmp ebx, 0xc0
jb 0x41242b
test bl, 0x20
jne 0x41237b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x412428
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4123a2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x412428
test bl, 8
jne 0x4123c5
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 0x412428
test bl, 4
jne 0x4123f4
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 0x412428
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x41244d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x412333
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f4b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x412588
cmp ebx, 0xc0
jb 0x412588
test bl, 0x20
jne 0x4124d8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x412585
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4124ff
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x412585
test bl, 8
jne 0x412522
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 0x412585
test bl, 4
jne 0x412551
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 0x412585
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4125aa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503218]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x412490
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f4b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4126ea
cmp ebx, 0xc0
jb 0x4126ea
test bl, 0x20
jne 0x412638
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4126e7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x41265f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4126e5
test bl, 8
jne 0x412682
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 0x4126e5
test bl, 4
jne 0x4126b1
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 0x4126e5
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x41270c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x412733
cmp eax, 3
je 0x412733
xor eax, eax
jmp 0x412738
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4125f0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f4b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x41285a
cmp ebx, 0xc0
jb 0x41285a
test bl, 0x20
jne 0x4127a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x412857
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4127cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x412855
test bl, 8
jne 0x4127f2
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 0x412855
test bl, 4
jne 0x412821
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 0x412855
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 0x41289d
je case.0x4128b9.8192
cmp ebx, 0x85
ja 0x412889
je case.0x4128b9.8192
cmp ebx, 9
jb case.0x4128b9.8203
cmp ebx, 0xd
jbe case.0x4128b9.8192
cmp ebx, 0x20
jmp 0x4128ce
cmp ebx, 0xa0
je case.0x4128b9.8192
cmp ebx, 0x1680
jmp 0x4128ce
cmp ebx, 0x202f
ja 0x4128c0
je case.0x4128b9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x4128b9.8203
movzx eax, byte [eax + 0x41acf8]
jmp dword [eax*4 + 0x41acf0]
cmp ebx, 0x205f
je case.0x4128b9.8192
cmp ebx, 0x3000
je case.0x4128b9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4128f2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp dword [eax*4 + 0x503028], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x413c76.14
jmp 0x412926
cmp dword [esi + 0x68], 0
jne case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x412760
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f4b
jmp 0x412950
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x412a48
cmp ebx, 0xc0
jb 0x412a48
test bl, 0x20
jne 0x412998
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x412a45
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4129bf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x412a45
test bl, 8
jne 0x4129e2
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 0x412a45
test bl, 4
jne 0x412a11
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 0x412a45
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 + 0x504898]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x412a6b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x412a97
cmp eax, 3
je 0x412a97
cmp ebx, 0x5f
je 0x412a97
xor eax, eax
jmp 0x412a9c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x413c76.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x412950
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f4b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x412bbc
cmp edx, 0xc0
jb 0x412bbc
test dl, 0x20
jne 0x412b0c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x412bb9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x412b33
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x412bb9
test dl, 8
jne 0x412b56
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 0x412bb9
test dl, 4
jne 0x412b85
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 0x412bb9
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 + 0x5030d8]
lea eax, [eax*4 + 0x5030d8]
cmp edx, ecx
jb 0x412bde
lea eax, [eax + 4]
cmp edx, ecx
je 0x412bfa
mov ecx, dword [eax]
cmp edx, ecx
jae 0x412bd1
cmp dword [esi + 0x68], 0
je case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x412ac4
jmp 0x413f4b
cmp dword [esi + 0x68], 0
jne case.0x413c76.14
jmp 0x412be8
mov ebx, 1
cmp ecx, ebx
jl 0x413f4b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x412d0d
cmp edx, 0xc0
jb 0x412d0d
test dl, 0x20
jne 0x412c5b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x412d0a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x412c82
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x412d08
test dl, 8
jne 0x412ca5
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 0x412d08
test dl, 4
jne 0x412cd4
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 0x412d08
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 0x412d38
cmp edx, 0x40
je 0x412d38
cmp edx, 0x60
je 0x412d38
cmp edx, 0xa0
jb 0x412d2c
cmp edx, 0xd7ff
jbe 0x412d38
cmp edx, 0xe000
jae 0x412d38
xor eax, eax
jmp 0x412d3d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x412c13
jmp 0x413f4b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x413083
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x413f4b
jmp 0x412d80
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x40fd67
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x412e80
cmp ebx, 0xc0
jb 0x412e80
test bl, 0x20
jne 0x412dc9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x412e7d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x412df0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x412e76
test bl, 8
jne 0x412e13
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 0x412e76
test bl, 4
jne 0x412e42
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 0x412e76
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x412ea2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x50321a]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x41303d
jmp 0x412ed0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x412fce
cmp ebx, 0xc0
jb 0x412fce
test bl, 0x20
jne 0x412f05
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x412fc6
test bl, 0x10
jne 0x412f2a
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 0x412fc6
test bl, 8
jne 0x412f58
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 0x412fc6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x412f92
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 0x412fc6
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x412ff0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx ecx, byte [eax*8 + 0x50321a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5030a0], eax
je 0x413036
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 0x412ed0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x41306a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x41306a
cmp eax, dword [ebp + 0x84]
jbe 0x41306a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x412d80
jmp 0x413f4b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x413b4f
cmp eax, 0xf
ja case.0x416097.9
jmp dword [eax*4 + 0x41ad24]
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x40fd67
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4130e7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne case.0x413c76.14
jmp 0x41310b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x41310b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x41310b
cmp edx, 1
je case.0x413c76.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x413c76.14
cmp dword [ebp + 0x88], 0
je 0x413146
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x413146
cmp dword [ebp + 0x18], 0
jne 0x413146
cmp dword [edi], 2
jne 0x413146
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x413146
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x413162
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x413162
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x413151
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4130b2
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x41203d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4131b8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4131b8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4131a0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x413184
jmp 0x413f4b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x40daeb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4132dc
test dl, 0x20
jne 0x41322a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4132d9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x413251
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4132d7
test dl, 8
jne 0x413274
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 0x4132d7
test dl, 4
jne 0x4132a3
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 0x4132d7
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 0x413300
je 0x4132ed
cmp edx, 0xa
je 0x413321
lea eax, [edx - 0xb]
jmp 0x41330e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x413321
cmp byte [eax], 0xa
jne 0x413321
inc eax
mov dword [esi + 8], eax
jmp 0x413321
cmp edx, 0x85
je 0x413317
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x413c76.14
cmp dword [ebp + 0x68], 0
jne case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4131f0
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x41342c
test dl, 0x20
jne 0x41337a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x413429
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4133a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x413427
test dl, 8
jne 0x4133c4
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 0x413427
test dl, 4
jne 0x4133f3
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 0x413427
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 0x41345e
je case.0x413c76.14
cmp edx, 0xa0
ja 0x413456
je case.0x413c76.14
cmp edx, 9
je case.0x413c76.14
cmp edx, 0x20
jmp 0x41348e
cmp edx, 0x1680
jmp 0x41348e
cmp edx, 0x205f
ja 0x413488
je case.0x413c76.14
cmp edx, 0x2000
jb 0x413494
cmp edx, 0x200a
jbe case.0x413c76.14
cmp edx, 0x202f
jmp 0x41348e
cmp edx, 0x3000
je case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x413340
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x41359f
test dl, 0x20
jne 0x4134ed
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41359c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x413514
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x41359a
test dl, 8
jne 0x413537
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 0x41359a
test dl, 4
jne 0x413566
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 0x41359a
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 0x4135c5
je 0x4135f7
cmp edx, 0xa0
ja 0x4135bd
je 0x4135f7
cmp edx, 9
je 0x4135f7
cmp edx, 0x20
jmp 0x4135f1
cmp edx, 0x1680
jmp 0x4135f1
cmp edx, 0x205f
ja 0x4135eb
je 0x4135f7
cmp edx, 0x2000
jb case.0x413c76.14
cmp edx, 0x200a
jbe 0x4135f7
cmp edx, 0x202f
jmp 0x4135f1
cmp edx, 0x3000
jne case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4134b3
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
jmp 0x413620
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x41370c
test dl, 0x20
jne 0x41365a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x413709
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x413681
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x413707
test dl, 8
jne 0x4136a4
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 0x413707
test dl, 4
jne 0x4136d3
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 0x413707
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 0x413724
je case.0x413c76.14
cmp edx, 0xa
jb 0x413738
cmp edx, 0xd
jmp 0x413732
cmp edx, 0x2028
jb 0x413738
cmp edx, 0x2029
jbe case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x413620
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
jmp 0x413760
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x41384c
test dl, 0x20
jne 0x41379a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x413849
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4137c1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x413847
test dl, 8
jne 0x4137e4
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 0x413847
test dl, 4
jne 0x413813
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 0x413847
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 0x41385e
je 0x41386d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x413867
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x413760
jmp 0x413f4b
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x40fd67
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x41397c
test dl, 0x20
jne 0x4138ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x413979
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4138f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x413977
test dl, 8
jne 0x413914
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 0x413977
test dl, 4
jne 0x413943
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 0x413977
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 0x413991
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x413c76.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x413890
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x41203d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x413c76.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x413c76.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4139b0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x41203d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x413a23
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x413c76.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x413a48
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x413a48
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x413a30
inc edi
cmp edi, dword [esi + 0x90]
jle 0x413a00
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x41203d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x413c76.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x413c76.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413a63
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x41203d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x413ad3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x413c76.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x413af8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x413af8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x413ae0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x413ab0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x41203d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x413c76.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x413c76.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413b13
jmp 0x413f4b
cmp eax, 0xf
ja case.0x416097.9
jmp dword [eax*4 + 0x41ad64]
mov ebx, 1
cmp ecx, ebx
jl 0x413f52
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x40fd67
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x413ba0
push 0
push edi
push eax
push edx
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne case.0x413c76.14
jmp 0x413bc4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x413bc4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x413bc4
cmp edx, 1
je case.0x413c76.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x413c76.14
cmp dword [ebp + 0x88], 0
je 0x413bff
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x413bff
cmp dword [ebp + 0x18], 0
jne 0x413bff
cmp dword [edi], 2
jne 0x413bff
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x413bff
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x413b70
jmp 0x413f4b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4131d6
cmp dword [ebp + 0x88], ebx
je case.0x413c76.14
cmp edx, dword [ebp + 0x84]
jbe case.0x413c76.14
jmp 0x40dc42
mov edx, 1
cmp ecx, edx
jl 0x413f4b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x41203d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x413c76.14
movzx eax, byte [eax + 0x41adb4]
jmp dword [eax*4 + 0x41ada4]
cmp ecx, dword [ebp + 0x78]
jae case.0x413c76.10
cmp byte [ecx], 0xa
jne case.0x413c76.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x413c76.10
cmp dword [ebp + 0x68], ebx
jne case.0x413c76.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x413c50
jmp 0x413f4b
mov edx, 1
cmp ecx, edx
jl 0x413f4b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x413c76.14
cmp ecx, 0x20
je case.0x413c76.14
cmp ecx, 0xa0
je case.0x413c76.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x413cb3
jmp 0x413f4b
mov edx, 1
cmp ecx, edx
jl 0x413f4b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x413d29
cmp ecx, 0x20
je 0x413d29
cmp ecx, 0xa0
jne case.0x413c76.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x413d00
jmp 0x413f4b
mov edx, 1
cmp ecx, edx
jl 0x413f4b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x413d71
cmp ecx, 0xd
jle case.0x413c76.14
cmp ecx, 0x85
je case.0x413c76.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x413d44
jmp 0x413f4b
mov edx, 1
cmp ecx, edx
jl 0x413f4b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x413c76.14
cmp ecx, 0xd
jle 0x413dbd
cmp ecx, 0x85
jne case.0x413c76.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x413d90
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
jmp 0x413de0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x413c76.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413de0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x413c76.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413e20
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x413c76.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413e60
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x413c76.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413ea0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
jmp 0x413ee0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x413c76.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413ee0
jmp 0x413f4b
mov edi, 1
cmp ecx, edi
jl 0x413f52
jmp 0x413f20
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x41203d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x413c76.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x413f20
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x40ccea
cmp dword [esp + 0x84], 0
je 0x413fb2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x413f95
cmp eax, 0xa
ja case.0x416097.9
jmp dword [eax*4 + 0x41ae30]
mov esi, dword [esi]
test esi, esi
je case.default.0x416564
mov edi, 0xfffffff2
jmp 0x416550
cmp dword [esi + 0x7c], 0x16
je 0x41a183
test edx, edx
jne 0x41a16e
mov dword [esi + 0x84], ecx
jmp 0x4173e5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x414feb
cmp eax, 0xa
ja case.0x416097.9
jmp dword [eax*4 + 0x41ae5c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x414fd8
mov ebx, dword [esp + 0x8c]
jmp 0x413ff0
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x41405b
movzx ecx, byte [edx]
test ebx, ebx
je 0x41403e
cmp ecx, 0xc0
jb 0x41403e
test cl, 0x20
jne 0x414018
mov eax, 2
jmp 0x41403e
test cl, 0x10
jne 0x414024
mov eax, 3
jmp 0x41403e
test cl, 8
jne 0x414030
mov eax, 4
jmp 0x41403e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x414fd8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x413ff0
jmp 0x414fd8
cmp dword [ebp + 0x88], 0
je 0x414fd8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x414fd8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x414fd8
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x416550
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41421e
movzx ebx, byte [edi]
test edx, edx
je 0x41419c
cmp ebx, 0xc0
jb 0x41419c
test bl, 0x20
jne 0x4140fe
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x414194
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x41411d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x414194
and eax, 0x3f
test bl, 8
jne 0x41413d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x414194
test bl, 4
jne 0x414166
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 0x414194
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4141be
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp eax, 9
je 0x4141e3
cmp eax, 5
je 0x4141e3
cmp eax, 8
je 0x4141e3
xor eax, eax
jmp 0x4141e8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x414fd8
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 0x4140c0
jmp 0x414fd8
cmp dword [ebp + 0x88], 0
je 0x414fd8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x414fd8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x414fd8
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416550
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
jmp 0x414280
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x414402
movzx ebx, byte [edi]
test edx, edx
je 0x414383
cmp ebx, 0xc0
jb 0x414383
test bl, 0x20
jne 0x4142ca
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x41437b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4142f2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x41437b
and eax, 0x3f
test bl, 8
jne 0x414318
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 0x41437b
test bl, 4
jne 0x414347
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 0x41437b
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4143a5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x414fd8
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 0x414280
jmp 0x414fd8
cmp dword [ebp + 0x88], 0
je 0x414fd8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x414fd8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x414243
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x414402
movzx ebx, byte [edi]
test edx, edx
je 0x41454f
cmp ebx, 0xc0
jb 0x41454f
test bl, 0x20
jne 0x414496
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x414547
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4144be
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x414547
and eax, 0x3f
test bl, 8
jne 0x4144e4
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 0x414547
test bl, 4
jne 0x414513
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 0x414547
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x414571
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x414fd8
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 0x414450
jmp 0x414fd8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x414402
movzx ebx, byte [edi]
test edx, edx
je 0x4146e3
cmp ebx, 0xc0
jb 0x4146e3
test bl, 0x20
jne 0x41462a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4146db
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x414652
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4146db
and eax, 0x3f
test bl, 8
jne 0x414678
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 0x4146db
test bl, 4
jne 0x4146a7
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 0x4146db
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x414705
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503218]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x414fd8
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 0x4145e0
jmp 0x414fd8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41421e
movzx ebx, byte [edi]
test edx, edx
je 0x414853
cmp ebx, 0xc0
jb 0x414853
test bl, 0x20
jne 0x4147b2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x41484b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4147d4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x41484b
and eax, 0x3f
test bl, 8
jne 0x4147f4
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x41484b
test bl, 4
jne 0x41481d
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 0x41484b
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x414875
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x41489c
cmp eax, 3
je 0x41489c
xor eax, eax
jmp 0x4148a1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x414fd8
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 0x414774
jmp 0x414fd8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x414402
movzx ebx, byte [edi]
test edx, edx
je 0x4149fd
cmp ebx, 0xc0
jb 0x4149fd
test bl, 0x20
jne 0x414942
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x4149fd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x41496a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x4149f3
and eax, 0x3f
test bl, 8
jne 0x414990
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 0x4149f3
test bl, 4
jne 0x4149bf
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 0x4149f3
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 0x414a40
je case.0x414a60.8192
cmp ebx, 0x85
ja 0x414a2c
je case.0x414a60.8192
cmp ebx, 9
jb case.0x414a60.8203
cmp ebx, 0xd
jbe case.0x414a60.8192
cmp ebx, 0x20
jmp 0x414a75
cmp ebx, 0xa0
je case.0x414a60.8192
cmp ebx, 0x1680
jmp 0x414a75
cmp ebx, 0x202f
ja 0x414a67
je case.0x414a60.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x414a60.8203
movzx eax, byte [eax + 0x41ae90]
jmp dword [eax*4 + 0x41ae88]
cmp ebx, 0x205f
je case.0x414a60.8192
cmp ebx, 0x3000
je case.0x414a60.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x414a99
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp dword [eax*4 + 0x503028], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x414fd8
mov edx, dword [esp + 0x8c]
jmp 0x414ad4
cmp dword [esi + 0x68], 0
jne 0x414fd8
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 0x4148f0
jmp 0x414fd8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x414402
movzx ebx, byte [edi]
test edx, edx
je 0x414c23
cmp ebx, 0xc0
jb 0x414c23
test bl, 0x20
jne 0x414b6a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x414c1b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x414b92
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x414c1b
and eax, 0x3f
test bl, 8
jne 0x414bb8
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 0x414c1b
test bl, 4
jne 0x414be7
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 0x414c1b
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 + 0x504898]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x414c46
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x414c72
cmp eax, 3
je 0x414c72
cmp ebx, 0x5f
je 0x414c72
xor eax, eax
jmp 0x414c77
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x414fd8
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 0x414b20
jmp 0x414fd8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x414fd8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x414e0f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x414db1
cmp edx, 0xc0
jb 0x414db1
test dl, 0x20
jne 0x414d14
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x414da9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x414d33
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x414da9
and eax, 0x3f
test dl, 8
jne 0x414d53
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x414da9
test dl, 4
jne 0x414d7c
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 0x414da9
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 + 0x5030d8]
lea eax, [eax*4 + 0x5030d8]
cmp edx, ecx
jb 0x414dd3
lea eax, [eax + 4]
cmp edx, ecx
je 0x414e03
mov ecx, dword [eax]
cmp edx, ecx
jae 0x414dc6
cmp dword [esi + 0x68], 0
je 0x414fd8
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 0x414cd0
jmp 0x414fd8
cmp dword [esi + 0x68], 0
jne 0x414fd8
jmp 0x414ddd
cmp dword [ebp + 0x88], 0
je 0x414fd8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x414fd8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x414fd8
jmp 0x40dc56
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x414fd8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x414fb0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x414f67
cmp edx, 0xc0
jb 0x414f67
test dl, 0x20
jne 0x414e9d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x414f67
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x414ec7
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 0x414f67
test dl, 8
jne 0x414ef3
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 0x414f67
test dl, 4
jne 0x414f2b
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 0x414f67
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 0x414f92
cmp edx, 0x40
je 0x414f92
cmp edx, 0x60
je 0x414f92
cmp edx, 0xa0
jb 0x414f86
cmp edx, 0xd7ff
jbe 0x414f92
cmp edx, 0xe000
jae 0x414f92
xor ecx, ecx
jmp 0x414f97
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x414fd8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x414e51
jmp 0x414fd8
cmp dword [ebp + 0x88], 0
je 0x414fd8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x414fd8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
je 0x41948c
jmp 0x40ccea
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x415387
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x415338
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x415310
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x415110
cmp ebx, 0xc0
jb 0x415110
test bl, 0x20
jne 0x415059
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x41510d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x415080
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x415106
test bl, 8
jne 0x4150a3
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 0x415106
test bl, 4
jne 0x4150d2
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 0x415106
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x415132
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x50321a]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4152cd
jmp 0x415160
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x41525e
cmp ebx, 0xc0
jb 0x41525e
test bl, 0x20
jne 0x415195
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x415256
test bl, 0x10
jne 0x4151ba
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 0x415256
test bl, 8
jne 0x4151e8
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 0x415256
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x415222
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 0x415256
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x415280
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx ecx, byte [eax*8 + 0x50321a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5030a0], eax
je 0x4152c6
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 0x415160
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x4152fa
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4152fa
cmp eax, dword [ebp + 0x84]
jbe 0x4152fa
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x415010
jmp 0x415338
cmp dword [ebp + 0x88], 0
je 0x415338
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x415338
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
cmp dword [esp + 0x80], 0
jne 0x40ccea
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a8b5
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a8ab
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
add eax, 0xfffffffa
test edx, edx
je 0x41608e
cmp eax, 0xf
ja case.0x416097.9
jmp dword [eax*4 + 0x41aebc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x415476
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4153e9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x41607b
jmp 0x41540d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x41540d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x41540d
cmp edx, 1
je 0x41607b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x41607b
cmp dword [ebp + 0x88], 0
je 0x415448
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x415448
cmp dword [ebp + 0x18], 0
jne 0x415448
cmp dword [edi], 2
jne 0x415448
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x415448
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x415464
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x415464
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x415453
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4153b4
jmp 0x41607b
cmp dword [ebp + 0x88], 0
je 0x41607b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x41607b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x41607b
jmp 0x40dc56
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x415508
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x41607b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x415476
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4154fa
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4154fa
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4154e2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4154d0
jmp 0x41607b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x41607b
cmp eax, dword [ebp + 0x84]
jbe 0x41607b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x41607b
jmp 0x414249
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 0x41558f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x41607b
cmp edx, dword [ebp + 0x84]
jbe 0x41607b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x41607b
jmp 0x40dc56
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x415476
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4156ba
test dl, 0x20
jne 0x4155ee
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4156ba
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x415618
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 0x4156b8
test dl, 8
jne 0x415644
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 0x4156b8
test dl, 4
jne 0x41567c
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 0x4156b8
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 0x4156d6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x41607b
cmp byte [eax], 0xa
jne 0x415710
inc eax
jmp 0x41570d
cmp edx, 0xa
je 0x41570b
cmp dword [ebp + 0x68], 0
jne 0x41607b
cmp edx, 0xb
je 0x41570b
cmp edx, 0xc
je 0x41570b
cmp edx, 0x85
je 0x41570b
cmp edx, 0x2028
je 0x41570b
cmp edx, 0x2029
jne 0x41607b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4155b0
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x415808
test dl, 0x20
jne 0x41576a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415800
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415789
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415800
and eax, 0x3f
test dl, 8
jne 0x4157a9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415800
test dl, 4
jne 0x4157d2
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 0x415800
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 0x41582e
je 0x41585c
cmp edx, 0xa0
ja 0x415826
je 0x41585c
cmp edx, 9
je 0x41585c
cmp edx, 0x20
jmp 0x415856
cmp edx, 0x1680
jmp 0x415856
cmp edx, 0x205f
ja 0x415850
je 0x41585c
cmp edx, 0x2000
jb 0x415858
cmp edx, 0x200a
jbe 0x41585c
cmp edx, 0x202f
jmp 0x415856
cmp edx, 0x3000
je 0x41585c
xor edx, edx
jmp 0x415861
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415734
jmp 0x41607b
cmp dword [ebp + 0x88], 0
je 0x41607b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x41607b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x41607b
jmp 0x40dc56
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4159a0
test dl, 0x20
jne 0x415902
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415998
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415921
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415998
and eax, 0x3f
test dl, 8
jne 0x415941
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415998
test dl, 4
jne 0x41596a
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 0x415998
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 0x4159df
je 0x4159ea
cmp edx, 0xa
jb 0x4159b4
cmp edx, 0xd
jbe 0x4159ea
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4158d0
jmp 0x41607b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x4159b4
mov edx, 1
jmp 0x4159b6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x415ad7
test dl, 0x20
jne 0x415a39
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415acf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415a58
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415acf
and eax, 0x3f
test dl, 8
jne 0x415a78
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415acf
test dl, 4
jne 0x415aa1
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 0x415acf
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 0x415aec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415a03
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
jmp 0x415b20
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x415bf4
test dl, 0x20
jne 0x415b56
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415bec
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415b75
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415bec
and eax, 0x3f
test dl, 8
jne 0x415b95
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415bec
test dl, 4
jne 0x415bbe
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 0x415bec
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 0x41607b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415b20
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
jmp 0x415c40
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x415d14
test dl, 0x20
jne 0x415c76
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415d0c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415c95
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415d0c
and eax, 0x3f
test dl, 8
jne 0x415cb5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415d0c
test dl, 4
jne 0x415cde
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 0x415d0c
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 0x415d29
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415c40
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x415e27
test dl, 0x20
jne 0x415d89
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415e1f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415da8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415e1f
and eax, 0x3f
test dl, 8
jne 0x415dc8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415e1f
test dl, 4
jne 0x415df1
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 0x415e1f
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 0x41607b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415d53
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x415f44
test dl, 0x20
jne 0x415ea6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x415f3c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415ec5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x415f3c
and eax, 0x3f
test dl, 8
jne 0x415ee5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x415f3c
test dl, 4
jne 0x415f0e
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 0x415f3c
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 0x415f59
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415e70
jmp 0x41607b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x41607b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41588a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x416057
test dl, 0x20
jne 0x415fb9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x41604f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x415fd8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x41604f
and eax, 0x3f
test dl, 8
jne 0x415ff8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x41604f
test dl, 4
jne 0x416021
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 0x41604f
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 0x41607b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x41607b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x415f83
cmp dword [esp + 0x80], 0
je 0x418948
jmp 0x40ccea
cmp eax, 0xf
ja case.0x416097.9
jmp dword [eax*4 + 0x41aefc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x416527
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x416154
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4160e0
push 0
push edi
push eax
push edx
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x416527
jmp 0x416104
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x416104
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x416104
cmp edx, 1
je 0x416527
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x416527
cmp dword [ebp + 0x88], 0
je 0x41613f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x41613f
cmp dword [ebp + 0x18], 0
jne 0x41613f
cmp dword [edi], 2
jne 0x41613f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x41613f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4160b0
jmp 0x416527
cmp dword [ebp + 0x88], 0
je 0x416527
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x416527
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x416527
jmp 0x40dc56
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 0x4161d8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x416527
cmp edx, dword [ebp + 0x84]
jbe 0x416527
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x416527
jmp 0x40dc56
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x416527
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x416527
jmp 0x416200
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x416154
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x41622b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x416527
cmp byte [eax], 0xa
jne 0x416255
inc eax
jmp 0x416252
cmp eax, 0xa
je 0x41624f
cmp dword [ebp + 0x68], 0
jne 0x416527
cmp eax, 0xb
je 0x41624f
cmp eax, 0xc
je 0x41624f
cmp eax, 0x85
jne 0x416527
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x416200
jmp 0x416527
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x416527
jmp 0x416280
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x416154
mov al, byte [ecx]
cmp al, 9
je 0x416527
cmp al, 0x20
je 0x416527
cmp al, 0xa0
je 0x416527
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x416280
jmp 0x416527
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x416527
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x416154
mov al, byte [ecx]
cmp al, 9
je 0x4162ee
cmp al, 0x20
je 0x4162ee
cmp al, 0xa0
jne 0x416527
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4162d0
jmp 0x416527
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x416527
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x416154
mov al, byte [ecx]
cmp al, 0xa
jb 0x416336
cmp al, 0xd
jbe 0x416527
cmp al, 0x85
je 0x416527
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x416314
jmp 0x416527
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x416527
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x416154
mov al, byte [ecx]
cmp al, 0xa
jb 0x416527
cmp al, 0xd
jbe 0x416382
cmp al, 0x85
jne 0x416527
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x416360
jmp 0x416527
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x416527
jmp 0x4163b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x416154
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x416527
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4163b0
jmp 0x416527
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x416527
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x416154
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x416527
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4163f2
jmp 0x416527
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x416527
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x416154
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x416527
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x416434
jmp 0x416527
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x416527
jmp 0x416480
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x416154
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x416527
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x416480
jmp 0x416527
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x416527
jmp 0x4164c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x416154
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x416527
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4164c0
jmp 0x416527
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x416527
jmp 0x416500
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x416154
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x416527
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x416500
cmp dword [esp + 0x80], 0
je 0x41758a
jmp 0x40ccea
mov esi, dword [esi]
test esi, esi
je 0x41aa01
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.0x416564
jmp dword [eax*4 + 0x41af3c]
cmp edi, 0xfffffc1b
je 0x416636
cmp edi, 0xfffffc20
jne 0x4165b3
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.0x416564.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4165af
cmp byte [ecx], 0x77
jne case.0x416564.49
xor edi, edi
jmp 0x4165bb
test edi, edi
jne case.0x416564.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 0x416636
cmp dword [esi + 0x9c], 0x88
jb 0x416601
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a38a
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a380
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
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 0x416a2c
mov edx, dword [esp + 0x8c]
jmp 0x416554
cmp edi, 0xfffffc20
jne 0x4166f3
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 0x416741
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4166be
cmp byte [ecx], 0x77
jne 0x416741
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 0x416757
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416554
test edi, edi
je 0x4166be
cmp edi, 0xfffffc1b
jne 0x416741
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x416733
cmp al, 0x77
jne 0x416724
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 0x416710
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 0x416a2c
mov edx, dword [esp + 0x8c]
jmp 0x416554
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4167a9
cmp eax, 0x81
je 0x4167a9
cmp dword [ebp + 0x6c], 0
jne 0x4167b3
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 0x4167b3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x502f10]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x40cc70
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 0x41a3ac
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a3a2
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
cmp edi, 1
jne 0x416873
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x416810
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x416823
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 0x416859
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 0x416840
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x502f10]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x40d11e.145
test edi, edi
je 0x416883
cmp edi, 0xfffffc20
jne case.0x416564.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x416899
movzx eax, byte [edx + 0x502f10]
jmp 0x41689c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x4168b9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x40ccf1
cmp dword [esi + 0x9c], 0x8c
jne 0x40cc70
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a3ce
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a3c4
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
cmp edi, 1
je 0x4169b2
cmp edi, 0xfffffc19
je 0x4169b2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x41695a
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.0x416564.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x416962
cmp byte [ecx], 0x77
jmp 0x41695c
test edi, edi
jne case.0x416564.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 0x4169b8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a3e7
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a3dd
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x4169d1
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416554
cmp dword [esi + 0x58], 0
je 0x41a00e
mov esi, dword [esi]
test esi, esi
je 0x41a9a6
mov edi, 1
jmp 0x416554
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x416a9d
je 0x416a36
cmp edi, 0xfffffc19
je 0x4172d3
cmp edi, 0xfffffc1b
jle case.0x416564.49
cmp edi, 0xfffffc1f
jle 0x416a5e
mov esi, dword [esi]
test esi, esi
jne 0x416554
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 0x416a5e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x416ab0
cmp byte [ecx], 0x77
je 0x416ab0
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 0x416a61
cmp dword [esi + 0x58], 0
je 0x416ce7
mov esi, dword [esi]
test esi, esi
je 0x41a9a6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x416554
mov eax, edi
sub eax, 0
je 0x416ab0
dec eax
je 0x4172d3
jmp case.0x416564.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 0x416a78
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a3fd
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a3f3
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x41a03c
cmp edi, 0xfffffc19
je 0x41a03c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x416b69
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x40daeb
push ecx
call dword [0x52d824]
add esp, 4
jmp 0x40daeb
test edi, edi
je 0x416b93
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x416b84
push ecx
call dword [0x52d824]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x416a2c
jmp 0x416549
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 0x416bf9
cmp dword [esi + 0x58], 0
je 0x416bc4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a443
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a439
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x416b49
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x416c53
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a491
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a487
mov esi, dword [esi]
test esi, esi
je 0x41a95b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x416554
cmp al, 0x88
jb 0x41a194
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a4b3
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a4a9
mov esi, dword [esi]
test esi, esi
je 0x41a95b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x416554
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x41a9b3
mov edi, 0xfffffc1b
jmp 0x416554
test edi, edi
jne case.0x416564.49
mov edx, dword [esi + 0x2c]
jmp 0x416cd0
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 0x416cd0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x40ccea
test edi, edi
je 0x40e564
jmp case.0x416564.49
test edi, edi
je 0x416c9f
jmp case.0x416564.49
cmp edi, 0xfffffc1b
jne 0x416d1b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x416d1d
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x417b0b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a4d5
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a4cb
mov esi, dword [esi]
test esi, esi
je 0x41a95b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x416554
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x416d90
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0041b190
add esp, 0x14
test eax, eax
jns 0x416df7
cmp eax, 0xfffffffe
jne 0x416db9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4188d1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4188d1
cmp eax, dword [ebp + 0x84]
jbe 0x4188d1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40fb0e
jmp 0x4188d1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a4fa
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a4f0
mov esi, dword [esi]
test esi, esi
je 0x41a95b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x416554
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x413c76.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a513
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a509
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x416eb7
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4189b6
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 0x4188d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a52c
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a522
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x40daeb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a545
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a53b
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x416f91
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4189b6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x416fc1
cmp dword [esi + 0x94], ecx
je 0x416fc1
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416554
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a55e
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a554
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
dec dword [esi + 8]
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a577
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a56d
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x417071
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4189b6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x4188d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a590
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a586
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
dec dword [esi + 8]
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a5a9
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a59f
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x41713e
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4189b6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4172d3
cmp dword [esi + 0x94], ecx
je 0x4172d3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a5c2
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a5b8
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a5db
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a5d1
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x417215
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4189b6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x4188d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a5f1
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a5e7
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a607
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a5fd
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4172e4
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416554
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x41732b
cmp dword [ebp + 0x88], 0
je 0x417313
cmp ecx, dword [ebp + 0x84]
jbe 0x417313
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40fb0e
mov esi, dword [esi]
test esi, esi
je 0x41a968
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x416554
cmp dword [esi + 0x7c], 0xc
jne 0x417352
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x417374
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x417391
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.0x41736d.15
jmp dword [eax*4 + 0x41b048]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x417352
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x417352
cmp edi, 1
je 0x417391
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x417352
mov esi, dword [esi]
test esi, esi
je 0x41a968
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x416554
cmp dword [ebp + 0x88], 0
je case.0x41736d.13
cmp edx, dword [ebp + 0x78]
jb case.0x41736d.13
cmp dword [ebp + 0x18], 0
jne case.0x41736d.13
cmp dword [ebp + 0x1c], 2
jne case.0x41736d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x41736d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40fb0e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a61d
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a613
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x41742d.14
movzx eax, byte [ecx + 0x41b098]
jmp dword [eax*4 + 0x41b088]
cmp edx, dword [ebp + 0x78]
jae case.0x41736d.13
cmp byte [edx], 0xa
jne case.0x41736d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x41736d.13
cmp dword [ebp + 0x68], 0
je case.0x41736d.13
jmp case.0x41742d.14
cmp ecx, 9
je case.0x41742d.14
cmp ecx, 0x20
je case.0x41742d.14
cmp ecx, 0xa0
jmp 0x41752a
cmp ecx, 9
je case.0x41736d.13
cmp ecx, 0x20
je case.0x41736d.13
cmp ecx, 0xa0
je case.0x41736d.13
jmp case.0x41742d.14
cmp ecx, 0xa
jb case.0x41736d.13
cmp ecx, 0xd
jbe case.0x41742d.14
cmp ecx, 0x85
jmp 0x41752a
cmp ecx, 0xa
jb case.0x41742d.14
cmp ecx, 0xd
jbe case.0x41736d.13
cmp ecx, 0x85
je case.0x41736d.13
jmp case.0x41742d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x41736d.13
jmp case.0x41742d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x41752a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x41736d.13
jmp case.0x41742d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x41752a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x41736d.13
mov esi, dword [esi]
test esi, esi
je 0x41a968
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x416554
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x41736d.13
mov esi, dword [esi]
test esi, esi
je 0x41a968
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x416554
mov esi, dword [esi]
test esi, esi
je case.default.0x416564
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x416554
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x41758a
cmp eax, dword [esi + 0x30]
jbe 0x41758a
cmp byte [eax], 0xa
jne 0x41758a
cmp byte [eax - 1], 0xd
jne 0x41758a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a633
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a629
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
cmp edi, 0xfffffc1a
jne 0x417621
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 0x417619
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 0x417600
jmp 0x417678
mov dword [esi + 8], eax
jmp 0x41769d
cmp edi, 0xfffffc20
jne 0x417655
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.0x416564.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x41765d
cmp byte [ecx], 0x77
jmp 0x417657
test edi, edi
jne case.0x416564.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 0x417691
cmp dword [esi + 0x5c], 0
jne 0x416ce7
cmp dword [esi + 0x54], 0
jne 0x416ce7
jmp 0x4188d1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4176b3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x41a675
push 0x134
call dword [0x52d828]
mov edx, eax
add esp, 4
test edx, edx
jne 0x41a66b
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
mov esi, dword [esi]
test edi, edi
jne 0x416a24
test esi, esi
je 0x41a9cd
mov edi, 0xfffffc1c
jmp 0x416554
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x41a9e7
mov edi, 0xfffffc1e
jmp 0x416554
cmp edi, 1
je 0x417733
cmp edi, 0xfffffc19
jne 0x41774d
cmp dword [ebp + 0xac], 0
jne 0x41774d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x416741
cmp edi, 0xfffffc1f
jne 0x416741
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417782
test dl, dl
je 0x41777e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417782
add eax, 2
add ecx, 2
test dl, dl
jne 0x417762
xor eax, eax
jmp 0x417787
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416741
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x41a9e7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x416554
cmp edi, 1
je 0x4177bd
cmp edi, 0xfffffc19
jne case.0x416564.51
cmp dword [ebp + 0xac], 0
jne case.0x416564.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x416a24
test esi, esi
je 0x41a9c0
mov edi, 0xfffffc1d
jmp 0x416554
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x41a9f4
mov edi, 0xfffffc1f
jmp 0x416554
cmp edi, 1
je 0x417820
cmp edi, 0xfffffc19
jne case.0x416564.54
cmp dword [ebp + 0xac], 0
jne case.0x416564.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x41a9da
mov edi, 0xfffffc20
jmp 0x416554
cmp edi, 0xfffffc1a
jne 0x4178c1
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 0x4178b9
mov edx, dword [esi + 0xc]
jmp 0x4178a0
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 0x4178a0
jmp 0x417928
mov dword [esi + 8], eax
jmp 0x40d822
cmp edi, 0xfffffc20
jne 0x4178f5
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.0x416564.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4178fd
cmp byte [ecx], 0x77
jmp 0x4178f7
test edi, edi
jne case.0x416564.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 0x40d822
cmp dword [esi + 0x5c], 0
jne 0x417968
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 0x40cce6
cmp dword [esi + 0x5c], 0
jne 0x40cce6
jmp 0x4188d1
cmp edi, 1
jne 0x417a24
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4179a1
cmp al, 0x77
jne 0x4188d1
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 0x4179a1
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 0x40cce6
cmp ecx, dword [esi + 0x38]
je 0x40cce6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x417abd
test ecx, ecx
jne 0x41a6de
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a6d4
mov esi, dword [esi]
test esi, esi
je 0x41a95b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x416554
cmp edi, 0xfffffc20
jne 0x417a58
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.0x416564.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x417a60
cmp byte [ecx], 0x77
jmp 0x417a5a
test edi, edi
jne case.0x416564.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 0x417990
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a6b9
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a6af
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test ecx, ecx
jne 0x41a703
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a6f9
mov esi, dword [esi]
test esi, esi
je 0x41a95b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x416554
test edi, edi
je 0x41a194
jmp case.0x416564.49
test edi, edi
jne case.0x416564.49
add dword [esi + 0xc], 3
jmp 0x40cc70
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x417b39
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x417c3a
cmp ebx, 0xc0
jb 0x417c3a
test bl, 0x20
jne 0x417b7b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x417c37
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x417ba5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x417c3a
mov edx, dword [esi + 8]
test bl, 8
jne 0x417bcb
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 0x417c2e
test bl, 4
jne 0x417bfa
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 0x417c2e
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.0041c7b0
add esp, 0xc
test eax, eax
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a725
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a71b
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x4188d1
cmp dword [esp + 0x8c], edi
je 0x417cc1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x417cc1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x417cb5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a73e
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a734
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x417d1b
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x417e10
test bl, 0x20
jne 0x417d55
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x417e0d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x417d7f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x417e10
mov edx, dword [esi + 8]
test bl, 8
jne 0x417da8
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 0x417e0b
test bl, 4
jne 0x417dd7
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 0x417e0b
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 0x417e26
cmp dword [esi + 0x9c], 0x6e
jne 0x417e43
jmp 0x40daeb
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 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a757
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a74d
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x40daeb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x417eac
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x417ea0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a770
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a766
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x417f06
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
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 0x417f75
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x417f35
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x417f3a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x417f24
cmp edi, 0xfffffffc
je 0x417f67
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x417f72
cmp edi, 0xfffffffd
je 0x417f67
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x417f72
cmp edi, 0xfffffffe
je 0x417f67
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x417f72
cmp edi, 0xffffffff
je 0x417f67
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x417f72
mov eax, dword [esi + 0x88]
jmp 0x417fe0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x418020
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x418020
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x417fa7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x417fac
add ecx, 4
add edx, 4
sub edi, 4
jae 0x417f96
cmp edi, 0xfffffffc
je 0x417fdd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x418020
cmp edi, 0xfffffffd
je 0x417fdd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x418020
cmp edi, 0xfffffffe
je 0x417fdd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x418020
cmp edi, 0xffffffff
je 0x417fdd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x418020
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 0x41a789
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a77f
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
cmp dword [ebp + 0x88], 0
je case.0x413c76.14
cmp ebx, dword [ebp + 0x78]
jb case.0x413c76.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x413c76.14
jmp 0x40dc42
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x41806c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x418060
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a7a2
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a798
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4180d2
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4181d2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41810c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4181cf
test dl, 0x10
jne 0x41812e
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 0x4181d2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x41815e
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 0x4181cf
test dl, 4
jne 0x418194
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 0x4181cf
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 0x417391
cmp dword [esi + 0x94], edx
je 0x417391
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x418219
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x416e25
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x41a63d
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x41824c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x418240
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a7bb
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a7b1
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4182b2
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4183a7
test bl, 0x20
jne 0x4182ec
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4183a4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x418316
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4183a7
mov edx, dword [esi + 8]
test bl, 8
jne 0x41833f
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 0x4183a2
test bl, 4
jne 0x41836e
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 0x4183a2
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 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a7d4
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a7ca
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x418410
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x418404
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a7ed
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a7e3
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x418476
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4184b2
cmp dword [ebp + 0x88], 0
je 0x4188d1
cmp ecx, dword [ebp + 0x84]
jbe 0x4188d1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40fb0e
jmp 0x4188d1
cmp dword [esi + 0x7c], 0xc
jne 0x418504
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4184df
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0041ce20
add esp, 0x14
test eax, eax
jne 0x4188d1
jmp 0x418504
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x418504
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x418504
cmp edi, 1
je 0x4188d1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4188d1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4185ec
test dl, 0x20
jne 0x418537
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4185e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x41855e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4185e7
test dl, 8
jne 0x418584
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 0x4185e7
test dl, 4
jne 0x4185b3
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 0x4185e7
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.0x4185fb.15
jmp dword [eax*4 + 0x41b114]
cmp dword [ebp + 0x88], 0
je case.0x4185fb.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4185fb.13
cmp dword [ebp + 0x18], 0
jne case.0x4185fb.13
cmp dword [ebp + 0x1c], 2
jne case.0x4185fb.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4185fb.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4185fb.13
jmp 0x40fb0e
cmp edx, 0xd
ja 0x41867e
je 0x41866b
cmp edx, 0xa
je case.0x4185fb.13
jbe 0x4188d1
cmp edx, 0xc
jmp 0x418698
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x4185fb.13
cmp byte [eax], 0xa
jne case.0x4185fb.13
inc eax
mov dword [esi + 8], eax
jmp case.0x4185fb.13
cmp edx, 0x85
je 0x41869e
cmp edx, 0x2027
jbe 0x4188d1
cmp edx, 0x2029
ja 0x4188d1
cmp dword [ebp + 0x68], 0
je case.0x4185fb.13
jmp 0x4188d1
cmp edx, 0x180e
ja 0x41871d
je 0x4188d1
cmp edx, 0xa0
ja 0x418715
je 0x4188d1
cmp edx, 9
je 0x4188d1
cmp edx, 0x20
je 0x4188d1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x418706
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x416e25
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x41a63d
cmp edx, 0x1680
jmp 0x4186d1
cmp edx, 0x205f
ja 0x418747
je 0x4188d1
cmp edx, 0x2000
jb case.0x4185fb.13
cmp edx, 0x200a
jbe 0x4188d1
cmp edx, 0x202f
jmp 0x4186d1
cmp edx, 0x3000
jmp 0x4188cb
cmp edx, 0x180e
ja 0x418784
je case.0x4185fb.13
cmp edx, 0xa0
ja 0x41877c
je case.0x4185fb.13
cmp edx, 9
je case.0x4185fb.13
cmp edx, 0x20
jmp 0x4187b8
cmp edx, 0x1680
jmp 0x4187b8
cmp edx, 0x205f
ja 0x4187b2
je case.0x4185fb.13
cmp edx, 0x2000
jb 0x4188d1
cmp edx, 0x200a
jbe case.0x4185fb.13
cmp edx, 0x202f
jmp 0x4187b8
cmp edx, 0x3000
je case.0x4185fb.13
jmp 0x4188d1
cmp edx, 0x85
ja 0x4187e8
je 0x4188d1
cmp edx, 0xa
jb case.0x4185fb.13
cmp edx, 0xd
jbe 0x4188d1
jmp case.0x4185fb.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4185fb.13
jmp 0x4188d1
cmp edx, 0x85
ja 0x418818
je case.0x4185fb.13
cmp edx, 0xa
jb 0x4188d1
cmp edx, 0xd
jmp 0x418821
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x4185fb.13
jmp 0x4188d1
cmp edx, 0x100
jae case.0x4185fb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4185fb.13
jmp 0x4188d1
cmp edx, 0x100
jae 0x4188d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x4188cb
cmp edx, 0x100
jae case.0x4185fb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4185fb.13
jmp 0x4188d1
cmp edx, 0x100
jae 0x4188d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x4188cb
cmp edx, 0x100
jae case.0x4185fb.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4185fb.13
mov esi, dword [esi]
test esi, esi
je 0x41a968
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x416554
cmp edx, 0x100
jae 0x4188d1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4185fb.13
mov esi, dword [esi]
test esi, esi
je 0x41a968
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x416554
mov esi, dword [esi]
test esi, esi
je case.default.0x416564
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x416554
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x41892c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x418920
cmp dword [esi + 0x7c], 0x11
jne 0x418948
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x418948
cmp byte [eax], 0xa
jne 0x418948
dec eax
cmp byte [eax], 0xd
jne 0x418948
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a806
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a7fc
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4189ae
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4189ce
cmp dword [ebp + 0x88], 0
je 0x4172d3
cmp eax, dword [ebp + 0x84]
jmp 0x419129
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x418a0d
cmp ecx, 0xc0
jb 0x418a0d
test cl, 0x20
jne 0x4189e9
inc eax
jmp 0x418a0a
test cl, 0x10
jne 0x4189f3
add eax, 2
jmp 0x418a0a
test cl, 8
jne 0x4189fd
add eax, 3
jmp 0x418a0a
test cl, 4
jne 0x418a07
add eax, 4
jmp 0x418a0a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x418a24
mov esi, dword [esi]
test esi, esi
je 0x41a968
xor edi, edi
jmp 0x416554
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x418a53
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x416e25
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x41a63d
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x418a87
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x418b81
cmp ebx, 0xc0
jb 0x418b81
test bl, 0x20
jne 0x418ac9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x418b7e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x418af3
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x418b81
mov edx, dword [esi + 8]
test bl, 8
jne 0x418b19
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 0x418b7c
test bl, 4
jne 0x418b48
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 0x418b7c
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x418ba3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp eax, 9
je 0x418bc8
cmp eax, 5
je 0x418bc8
cmp eax, 8
je 0x418bc8
xor eax, eax
jmp 0x418bcd
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a81f
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a815
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x418c36
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x418d2c
cmp ebx, 0xc0
jb 0x418d2c
test bl, 0x20
jne 0x418c78
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x418d29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x418ca0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x418d2c
mov edx, dword [esi + 8]
test bl, 8
jne 0x418cc6
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 0x418d29
test bl, 4
jne 0x418cf5
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 0x418d29
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x418d4e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a838
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a82e
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x418dd8
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x418ece
cmp ebx, 0xc0
jb 0x418ece
test bl, 0x20
jne 0x418e1a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x418ecb
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x418e42
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x418ece
mov edx, dword [esi + 8]
test bl, 8
jne 0x418e68
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 0x418ecb
test bl, 4
jne 0x418e97
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 0x418ecb
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x418ef0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a851
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a847
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x418f73
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x419069
cmp ebx, 0xc0
jb 0x419069
test bl, 0x20
jne 0x418fb5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419066
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x418fdd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x419069
mov edx, dword [esi + 8]
test bl, 8
jne 0x419003
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 0x419066
test bl, 4
jne 0x419032
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 0x419066
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x41908b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503218]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a86a
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a860
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x41910e
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x419157
cmp dword [ebp + 0x88], 0
je 0x4172d3
cmp edi, dword [ebp + 0x84]
jbe 0x4172d3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4172d3
mov esi, dword [esi]
test esi, esi
je 0x41a98c
mov edi, 0xfffffff4
jmp 0x416554
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x419245
cmp ebx, 0xc0
jb 0x419245
test bl, 0x20
jne 0x41918d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419242
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4191b7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x419245
mov edx, dword [esi + 8]
test bl, 8
jne 0x4191dd
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 0x419240
test bl, 4
jne 0x41920c
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 0x419240
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x419267
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x50321a]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4193f8
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x419397
cmp ebx, 0xc0
jb 0x419397
test bl, 0x20
jne 0x4192cb
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x41938f
test bl, 0x10
jne 0x4192f0
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 0x41938f
test bl, 8
jne 0x419321
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 0x41938f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x41935b
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 0x41938f
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4193b9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx ecx, byte [eax*8 + 0x50321a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5030a0], eax
je 0x4193f8
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x419290
cmp dword [ebp + 0x88], 0
je 0x419425
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x419425
cmp eax, dword [ebp + 0x84]
jbe 0x419425
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x40dc56
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a883
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a879
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x41948c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x41948c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x419480
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x40cc70
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a89c
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a892
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x4194e7
movzx ebx, byte [ecx]
jmp 0x4195d5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4194fc
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4194f0
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x4195d5
test bl, 0x20
jne 0x41951f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x4195cd
test bl, 0x10
jne 0x41953f
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 0x4195cd
test bl, 8
jne 0x419568
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 0x4195cd
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x41959d
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 0x4195cd
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x4195f7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x50321a]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x40cc70
dec edi
cmp dword [esp + 0x8c], 0
jne 0x41962f
movzx ebx, byte [edi]
jmp 0x4196ee
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x419641
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x419637
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x4196ee
test bl, 0x20
jne 0x419661
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x4196e6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x41967e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4196e6
and eax, 0x3f
test bl, 8
jne 0x419699
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4196e6
test bl, 4
jne 0x4196bd
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 0x4196e6
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x419710
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx edx, byte [eax*8 + 0x50321a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5030a0], eax
je 0x415346
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x419610
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x419771
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x41986b
cmp ebx, 0xc0
jb 0x41986b
test bl, 0x20
jne 0x4197b3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419868
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4197dd
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x41986b
mov edx, dword [esi + 8]
test bl, 8
jne 0x419803
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 0x419866
test bl, 4
jne 0x419832
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 0x419866
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 + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x41988d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x4198b4
cmp eax, 3
je 0x4198b4
xor eax, eax
jmp 0x4198b9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a8ce
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a8c4
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x419922
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x419a23
cmp ebx, 0xc0
jb 0x419a23
test bl, 0x20
jne 0x419964
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419a20
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x41998e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x419a23
mov edx, dword [esi + 8]
test bl, 8
jne 0x4199b4
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 0x419a17
test bl, 4
jne 0x4199e3
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 0x419a17
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 0x419a4e
cmp ebx, 0x40
je 0x419a4e
cmp ebx, 0x60
je 0x419a4e
cmp ebx, 0xa0
jb 0x419a42
cmp ebx, 0xd7ff
jbe 0x419a4e
cmp ebx, 0xe000
jae 0x419a4e
xor eax, eax
jmp 0x419a53
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x40e432
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a8e7
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a8dd
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x419abc
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x419bbd
cmp ebx, 0xc0
jb 0x419bbd
test bl, 0x20
jne 0x419afe
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419bba
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x419b28
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x419bbd
mov edx, dword [esi + 8]
test bl, 8
jne 0x419b4e
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 0x419bb1
test bl, 4
jne 0x419b7d
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 0x419bb1
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 0x419c00
je case.0x419c20.8192
cmp ebx, 0x85
ja 0x419bec
je case.0x419c20.8192
cmp ebx, 9
jb case.0x419c20.8203
cmp ebx, 0xd
jbe case.0x419c20.8192
cmp ebx, 0x20
jmp 0x419c35
cmp ebx, 0xa0
je case.0x419c20.8192
cmp ebx, 0x1680
jmp 0x419c35
cmp ebx, 0x202f
ja 0x419c27
je case.0x419c20.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x419c20.8203
movzx eax, byte [eax + 0x41b15c]
jmp dword [eax*4 + 0x41b154]
cmp ebx, 0x205f
je case.0x419c20.8192
cmp ebx, 0x3000
je case.0x419c20.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x504898]
shl eax, 7
and ebx, 0x8000007f
jns 0x419c59
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
cmp dword [eax*4 + 0x503028], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x419c8c
jmp 0x40daeb
cmp dword [esi + 0x68], 0
jne 0x40e432
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a900
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a8f6
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x419cec
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x419de2
cmp ebx, 0xc0
jb 0x419de2
test bl, 0x20
jne 0x419d2e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419ddf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x419d56
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x419de2
mov edx, dword [esi + 8]
test bl, 8
jne 0x419d7c
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 0x419ddf
test bl, 4
jne 0x419dab
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 0x419ddf
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 + 0x504898]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x419e05
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x506a98]
movzx eax, byte [eax*8 + 0x503219]
mov eax, dword [eax*4 + 0x503028]
cmp eax, 1
je 0x419e31
cmp eax, 3
je 0x419e31
cmp ebx, 0x5f
je 0x419e31
xor eax, eax
jmp 0x419e36
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x40daeb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a919
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a90f
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
test edi, edi
jne case.0x416564.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x419e9f
mov esi, dword [esi]
test esi, esi
je 0x41a968
jmp 0x416554
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x419116
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x419f9c
cmp ebx, 0xc0
jb 0x419f9c
test bl, 0x20
jne 0x419ee1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x419f99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x419f09
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x419f9c
mov edx, dword [esi + 8]
test bl, 8
jne 0x419f2f
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 0x419f92
test bl, 4
jne 0x419f5e
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 0x419f92
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 + 0x5030d8]
lea eax, [eax*4 + 0x5030d8]
cmp ebx, ecx
jb 0x419fbe
lea eax, [eax + 4]
cmp ebx, ecx
je 0x41a003
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x419fb1
cmp dword [esi + 0x68], 0
je 0x40e432
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41a932
push 0x134
call dword [0x52d828]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x41a928
mov esi, dword [esi]
test esi, esi
je 0x41a95b
lea edi, [eax - 6]
jmp 0x416549
cmp dword [esi + 0x68], 0
je 0x419fc8
jmp 0x40e432
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 0x41a011
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x40ccea
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x41a053
push ecx
call dword [0x52d824]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x40ccea
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x417e49
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x417c55
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x417feb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4181f0
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4183b9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x418a2a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x418bdc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x418d7e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x418f19
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4190b4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4198c8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x419c92
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x419e45
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x419fce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x419a62
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4186dd
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x41942b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x40cc70
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 + 0x502f10]
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 0x40cc60
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 0x41a456
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 0x41a456
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x41a1af
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 0x41a456
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x41a1af
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 0x41a456
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x41a1af
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 0x40cc60
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 0x41a646
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 0x41a646
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 0x41a646
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 0x41a646
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 0x41a646
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 0x41a456
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 0x41a456
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x41a407
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 0x40cc60
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 + 0x502f10]
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 0x40cc60
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 0x41a646
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 0x41a646
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 0x41a646
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x41a63d
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 0x40cc60
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 0x41a456
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 0x41a456
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 0x41a646
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 0x41a646
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 0x41a646
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x41a63d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x41a63d
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