Function at 0x412df0
Capabilities:
Decompress data using quicklz

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 4], esi
movzx eax, byte [esi + 0x30]
movzx ecx, byte [esi + 0x2f]
cdq
mov ebx, eax
shr cl, 2
shld edx, ebx, 6
movzx eax, cl
xor ecx, ecx
cdq
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 0x31]
and al, 0x7f
and ebx, 0x1fffff
movzx eax, al
cdq
shld edx, eax, 0xe
shl eax, 0xe
or ecx, edx
or ebx, eax
mov dword [ebp - 0x74], ecx
movzx eax, byte [esi + 0x34]
and al, 0xf
mov dword [ebp - 0x50], ebx
movzx eax, al
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [esi + 0x33]
cdq
and eax, 0xfff
shld ebx, edi, 8
shl edi, 8
or edi, eax
movzx eax, byte [esi + 0x32]
cdq
mov esi, eax
mov eax, dword [ebp - 4]
shld edx, esi, 1
shld ebx, edi, 9
add esi, esi
movzx ecx, byte [eax + 0x31]
shr cl, 7
movzx eax, cl
mov ecx, dword [ebp - 4]
cdq
or esi, eax
shl edi, 9
and esi, 0x1fffff
mov dword [ebp - 0x18], ebx
movzx eax, byte [ecx + 0x37]
or edi, esi
and al, 1
mov dword [ebp - 0x1c], edi
movzx eax, al
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [ecx + 0x36]
shld ebx, edi, 8
cdq
and eax, 0x1ff
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 0x35]
movzx ecx, byte [ecx + 0x34]
cdq
mov esi, eax
shr cl, 4
shld edx, esi, 4
shld ebx, edi, 0xc
movzx eax, cl
shl esi, 4
cdq
shl edi, 0xc
or esi, eax
and esi, 0x1fffff
mov dword [ebp - 0x60], ebx
or edi, esi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], edi
movzx eax, byte [esi + 0x38]
movzx ecx, byte [esi + 0x37]
cdq
mov ebx, eax
shr cl, 1
shld edx, ebx, 7
movzx eax, cl
xor ecx, ecx
cdq
shl ebx, 7
or ebx, eax
movzx eax, byte [esi + 0x39]
and al, 0x3f
and ebx, 0x1fffff
movzx eax, al
cdq
shld edx, eax, 0xf
shl eax, 0xf
or ecx, edx
or ebx, eax
mov dword [ebp - 0x40], ecx
movzx eax, byte [esi + 0x3c]
and al, 7
mov dword [ebp - 0x54], ebx
movzx eax, al
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [esi + 0x3b]
shld ebx, edi, 8
cdq
and eax, 0x7ff
shl edi, 8
or edi, eax
movzx eax, byte [esi + 0x3a]
cdq
mov esi, eax
mov eax, dword [ebp - 4]
shld edx, esi, 2
shld ebx, edi, 0xa
shl esi, 2
movzx ecx, byte [eax + 0x39]
shr cl, 6
shl edi, 0xa
movzx eax, cl
cdq
or esi, eax
mov dword [ebp - 0x70], ebx
and esi, 0x1fffff
or edi, esi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x6c], edi
movzx eax, byte [esi + 0x3e]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [esi + 0x3d]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
and ebx, 0xffffff
movzx eax, byte [esi + 0x3f]
cdq
and edx, 0xff
shld edx, eax, 0x10
shl eax, 0x10
or ebx, edx
or edi, eax
movzx eax, byte [esi + 0x3c]
shld ebx, edi, 5
shl edi, 5
shr al, 3
movzx eax, al
cdq
or edi, eax
or ebx, edx
movzx eax, byte [esi + 0x2c]
and al, 0x1f
mov dword [ebp - 0x30], edi
movzx eax, al
cdq
mov ecx, eax
mov dword [ebp - 0x4c], ebx
movzx eax, byte [esi + 0x2a]
xor esi, esi
shld edx, ecx, 0x10
cdq
shl ecx, 0x10
or ecx, eax
mov eax, dword [ebp - 4]
and ecx, 0x1fffff
mov dword [ebp - 0x68], ecx
xor ecx, ecx
push 0
movzx eax, byte [eax + 0x2b]
cdq
and eax, 0x1fff
shld ecx, eax, 8
push 0xa6f7d
push ebx
shl eax, 8
or esi, ecx
or dword [ebp - 0x68], eax
push edi
call fcn.00427670
sub dword [ebp - 0x68], eax
mov eax, dword [ebp - 4]
sbb esi, edx
mov dword [ebp - 0x80], esi
push 0
movzx eax, byte [eax + 0x27]
and al, 7
movzx eax, al
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 4]
shld ecx, esi, 8
push 0xa6f7d
push dword [ebp - 0x40]
movzx eax, byte [eax + 0x26]
shl esi, 8
cdq
and eax, 0x7ff
or esi, eax
shld ecx, esi, 0xa
push dword [ebp - 0x54]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 4]
shl esi, 0xa
mov dword [ebp - 0x48], esi
movzx eax, byte [ecx + 0x25]
movzx ecx, byte [ecx + 0x24]
cdq
mov esi, eax
shr cl, 6
shld edx, esi, 2
movzx eax, cl
shl esi, 2
cdq
or esi, eax
and esi, 0x1fffff
or dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x7c]
call fcn.00427670
sub dword [ebp - 0x48], eax
push 0
push 0xf39ad
push ebx
push edi
sbb esi, edx
call fcn.00427670
sub dword [ebp - 0x48], eax
push 0
sbb esi, edx
push 0x215d1
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
call fcn.00427670
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
adc esi, edx
mov dword [ebp - 0x7c], esi
push 0
movzx eax, byte [eax + 0x22]
and al, 1
movzx eax, al
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 4]
shld ecx, esi, 8
push 0x9fb67
push dword [ebp - 0x70]
movzx eax, byte [eax + 0x21]
shl esi, 8
cdq
and eax, 0x1ff
or esi, eax
shld ecx, esi, 0xc
push dword [ebp - 0x6c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 4]
shl esi, 0xc
mov dword [ebp - 0x58], esi
movzx eax, byte [ecx + 0x20]
movzx ecx, byte [ecx + 0x1f]
cdq
mov esi, eax
shr cl, 4
shld edx, esi, 4
movzx eax, cl
shl esi, 4
cdq
or esi, eax
and esi, 0x1fffff
or dword [ebp - 0x58], esi
mov esi, dword [ebp - 0x2c]
call fcn.00427670
add dword [ebp - 0x58], eax
push 0
push 0xa6f7d
push dword [ebp - 0x18]
adc esi, edx
push dword [ebp - 0x1c]
call fcn.00427670
sub dword [ebp - 0x58], eax
push 0
push 0xf39ad
push dword [ebp - 0x40]
sbb esi, edx
push dword [ebp - 0x54]
call fcn.00427670
sub dword [ebp - 0x58], eax
push 0
push 0x72d18
push ebx
push edi
sbb esi, edx
call fcn.00427670
mov ebx, dword [ebp - 0x58]
push 0
push 0x215d1
push dword [ebp - 0x60]
add ebx, eax
push dword [ebp - 0x24]
adc esi, edx
call fcn.00427670
mov edi, dword [ebp - 4]
add ebx, eax
mov dword [ebp - 0x58], ebx
adc esi, edx
mov dword [ebp - 0x2c], esi
movzx eax, byte [edi + 0x12]
and al, 7
movzx eax, al
cdq
mov ecx, eax
mov ebx, edx
movzx eax, byte [edi + 0x11]
shld ebx, ecx, 8
cdq
shl ecx, 8
and eax, 0x7ff
or ecx, eax
movzx eax, byte [edi + 0x10]
shld ebx, ecx, 0xa
cdq
shl ecx, 0xa
mov esi, eax
mov dword [ebp - 0x3c], ecx
movzx ecx, byte [edi + 0xf]
mov edi, dword [ebp - 0x74]
shld edx, esi, 2
shr cl, 6
movzx eax, cl
shl esi, 2
cdq
push 0
or esi, eax
push 0xa2c13
and esi, 0x1fffff
or dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0x50]
push edi
push esi
call fcn.00427670
add dword [ebp - 0x3c], eax
push 0
adc ebx, edx
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 4]
push 0x9fb67
push edi
push esi
movzx eax, byte [ebx + 0x17]
and al, 0x1f
movzx eax, al
cdq
mov ecx, eax
movzx eax, byte [ebx + 0x15]
shld edx, ecx, 0x10
cdq
xor ebx, ebx
shl ecx, 0x10
or ecx, eax
mov eax, dword [ebp - 4]
and ecx, 0x1fffff
mov dword [ebp - 0x20], ecx
xor ecx, ecx
movzx eax, byte [eax + 0x16]
cdq
and eax, 0x1fff
shld ecx, eax, 8
shl eax, 8
or ebx, ecx
or dword [ebp - 0x20], eax
call fcn.00427670
add dword [ebp - 0x20], eax
push 0
adc ebx, edx
push 0x72d18
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x18]
push ebx
push dword [ebp - 0x1c]
call fcn.00427670
add dword [ebp - 0x20], eax
push 0
adc dword [ebp - 0x64], edx
push 0xa2c13
push dword [ebp - 0x60]
push dword [ebp - 0x24]
call fcn.00427670
add dword [ebp - 0x20], eax
mov ecx, dword [ebp - 4]
adc dword [ebp - 0x64], edx
movzx eax, byte [ecx + 0x1b]
movzx ecx, byte [ecx + 0x1a]
cdq
shld edx, eax, 6
shr cl, 2
shl eax, 6
mov dword [ebp - 8], eax
movzx eax, cl
mov ecx, dword [ebp - 8]
cdq
or ecx, eax
mov eax, dword [ebp - 4]
push 0
and ecx, 0x1fffff
push 0x9fb67
movzx eax, byte [eax + 0x1c]
push dword [ebp - 0x60]
and al, 0x7f
mov dword [ebp - 8], ecx
push dword [ebp - 0x24]
movzx eax, al
xor ecx, ecx
cdq
shld edx, eax, 0xe
shl eax, 0xe
or ecx, edx
or dword [ebp - 8], eax
mov dword [ebp - 0x78], ecx
call fcn.00427670
add dword [ebp - 8], eax
push 0
adc dword [ebp - 0x78], edx
push 0xf39ad
push ebx
push dword [ebp - 0x1c]
call fcn.00427670
sub dword [ebp - 8], eax
mov ebx, dword [ebp - 0x78]
push 0
push 0x72d18
push dword [ebp - 0x40]
sbb ebx, edx
push dword [ebp - 0x54]
call fcn.00427670
add dword [ebp - 8], eax
push 0
push 0xa2c13
push dword [ebp - 0x70]
adc ebx, edx
push dword [ebp - 0x6c]
call fcn.00427670
add dword [ebp - 8], eax
push 0
push 0x215d1
push edi
push esi
adc ebx, edx
call fcn.00427670
add dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x3c]
adc ebx, edx
mov dword [ebp - 0x78], ebx
add esi, 0x100000
mov ebx, dword [ebp - 0x84]
movzx eax, byte [ecx + 0x13]
adc ebx, 0
movzx ecx, byte [ecx + 0x12]
cdq
shld edx, eax, 5
shr cl, 3
shl eax, 5
shrd esi, ebx, 0x15
mov dword [ebp - 0x44], eax
movzx eax, cl
mov ecx, dword [ebp - 0x44]
sar ebx, 0x15
cdq
mov dword [ebp - 0xa0], esi
or ecx, eax
mov dword [ebp - 0xa8], ebx
mov eax, dword [ebp - 4]
and ecx, 0x1fffff
push 0
mov dword [ebp - 0x44], ecx
xor ecx, ecx
push 0x72d18
movzx eax, byte [eax + 0x14]
cdq
shld edx, eax, 0xd
push edi
push dword [ebp - 0x50]
shl eax, 0xd
or ecx, edx
or dword [ebp - 0x44], eax
mov dword [ebp - 0x88], ecx
call fcn.00427670
add dword [ebp - 0x44], eax
mov edi, dword [ebp - 0x88]
push 0
push 0xa2c13
push dword [ebp - 0x18]
adc edi, edx
push dword [ebp - 0x1c]
call fcn.00427670
mov ecx, dword [ebp - 0x44]
add ecx, eax
mov eax, dword [ebp - 4]
push 0
adc edi, edx
add ecx, esi
mov dword [ebp - 0x44], ecx
movzx eax, byte [eax + 0x1a]
adc edi, ebx
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x88], edi
mov edi, dword [ebp - 0x20]
add edi, 0x100000
push 0x9fb67
adc ebx, 0
and al, 3
movzx eax, al
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 4]
shld ecx, esi, 8
push dword [ebp - 0x18]
shl esi, 8
movzx eax, byte [eax + 0x19]
cdq
and eax, 0x3ff
or esi, eax
shld ecx, esi, 0xb
push dword [ebp - 0x1c]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 4]
shl esi, 0xb
mov dword [ebp - 0x34], esi
shrd edi, ebx, 0x15
movzx eax, byte [ecx + 0x18]
movzx ecx, byte [ecx + 0x17]
cdq
mov esi, eax
shr cl, 5
shld edx, esi, 3
movzx eax, cl
shl esi, 3
cdq
or esi, eax
sar ebx, 0x15
and esi, 0x1fffff
mov dword [ebp - 0xbc], edi
or dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0x14], ebx
call fcn.00427670
add dword [ebp - 0x34], eax
push 0
push 0xf39ad
push dword [ebp - 0x74]
adc esi, edx
push dword [ebp - 0x50]
call fcn.00427670
sub dword [ebp - 0x34], eax
push 0
push 0x72d18
push dword [ebp - 0x60]
sbb esi, edx
push dword [ebp - 0x24]
call fcn.00427670
add dword [ebp - 0x34], eax
push 0
push 0xa2c13
push dword [ebp - 0x40]
adc esi, edx
push dword [ebp - 0x54]
call fcn.00427670
mov ecx, dword [ebp - 0x34]
add ecx, eax
push 0
adc esi, edx
add ecx, edi
mov edi, dword [ebp - 8]
adc esi, ebx
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x78]
add edi, 0x100000
mov dword [ebp - 0x90], esi
mov esi, dword [ebp - 4]
adc ebx, 0
push 0x9fb67
push dword [ebp - 0x40]
shrd edi, ebx, 0x15
movzx eax, byte [esi + 0x1f]
and al, 0xf
sar ebx, 0x15
movzx eax, al
cdq
mov ecx, edx
mov dword [ebp - 0xc], edi
shld ecx, eax, 8
push dword [ebp - 0x54]
shl eax, 8
mov dword [ebp - 0x10], eax
movzx eax, byte [esi + 0x1e]
cdq
mov edx, dword [ebp - 0x10]
and eax, 0xfff
or edx, eax
mov dword [ebp - 0x28], ebx
movzx eax, byte [esi + 0x1d]
shld ecx, edx, 9
shl edx, 9
mov dword [ebp - 0x10], edx
cdq
mov esi, eax
mov dword [ebp - 0x94], ecx
mov eax, dword [ebp - 4]
shld edx, esi, 1
add esi, esi
movzx ecx, byte [eax + 0x1c]
shr cl, 7
movzx eax, cl
cdq
or esi, eax
and esi, 0x1fffff
or dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x94]
call fcn.00427670
add dword [ebp - 0x10], eax
push 0
push 0xa6f7d
push dword [ebp - 0x74]
adc esi, edx
push dword [ebp - 0x50]
call fcn.00427670
sub dword [ebp - 0x10], eax
push 0
push 0xf39ad
push dword [ebp - 0x60]
sbb esi, edx
push dword [ebp - 0x24]
call fcn.00427670
sub dword [ebp - 0x10], eax
push 0
push 0x72d18
push dword [ebp - 0x70]
sbb esi, edx
push dword [ebp - 0x6c]
call fcn.00427670
add dword [ebp - 0x10], eax
push 0
push 0xa2c13
push dword [ebp - 0x4c]
adc esi, edx
push dword [ebp - 0x30]
call fcn.00427670
add dword [ebp - 0x10], eax
push 0
push 0x215d1
push dword [ebp - 0x18]
adc esi, edx
push dword [ebp - 0x1c]
call fcn.00427670
mov ecx, dword [ebp - 0x10]
add ecx, eax
push 0
adc esi, edx
add ecx, edi
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 4]
adc esi, ebx
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x94], esi
add ebx, 0x100000
mov esi, dword [ebp - 0x2c]
movzx eax, byte [ecx + 0x23]
adc esi, 0
movzx ecx, byte [ecx + 0x22]
cdq
mov edi, eax
shr cl, 1
shld edx, edi, 7
movzx eax, cl
cdq
shl edi, 7
or edi, eax
mov eax, dword [ebp - 4]
push 0x9fb67
push dword [ebp - 0x4c]
and edi, 0x1fffff
movzx eax, byte [eax + 0x24]
push dword [ebp - 0x30]
and al, 0x3f
mov dword [ebp - 0x38], edi
movzx eax, al
xor edi, edi
cdq
shld edx, eax, 0xf
shrd ebx, esi, 0x15
shl eax, 0xf
or edi, edx
or dword [ebp - 0x38], eax
sar esi, 0x15
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x50], esi
call fcn.00427670
add dword [ebp - 0x38], eax
push 0
push 0xa6f7d
push dword [ebp - 0x60]
adc edi, edx
push dword [ebp - 0x24]
call fcn.00427670
sub dword [ebp - 0x38], eax
push 0
push 0xf39ad
push dword [ebp - 0x70]
sbb edi, edx
push dword [ebp - 0x6c]
call fcn.00427670
sub dword [ebp - 0x38], eax
sbb edi, edx
push 0
push 0x215d1
push dword [ebp - 0x40]
push dword [ebp - 0x54]
call fcn.00427670
mov ecx, dword [ebp - 0x38]
add ecx, eax
push 0
adc edi, edx
add ecx, ebx
mov ebx, dword [ebp - 0x48]
adc edi, esi
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
add ebx, 0x100000
mov esi, dword [ebp - 0x7c]
adc esi, 0
mov dword [ebp - 0x24], edi
push 0xa6f7d
movzx eax, byte [ecx + 0x28]
movzx ecx, byte [ecx + 0x27]
push dword [ebp - 0x70]
cdq
push dword [ebp - 0x6c]
mov edi, eax
shr cl, 3
shld edx, edi, 5
movzx eax, cl
cdq
shl edi, 5
or edi, eax
mov eax, dword [ebp - 4]
and edi, 0x1fffff
shrd ebx, esi, 0x15
mov dword [ebp - 0x5c], edi
xor edi, edi
movzx eax, byte [eax + 0x29]
cdq
shld edx, eax, 0xd
sar esi, 0x15
shl eax, 0xd
or edi, edx
or dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x40], esi
call fcn.00427670
sub dword [ebp - 0x5c], eax
push 0
push 0x215d1
push dword [ebp - 0x4c]
sbb edi, edx
push dword [ebp - 0x30]
call fcn.00427670
mov ecx, dword [ebp - 0x5c]
add ecx, eax
mov eax, dword [ebp - 4]
adc edi, edx
add ecx, ebx
mov ebx, dword [ebp - 0x80]
movzx eax, byte [eax + 0x2f]
adc edi, esi
mov dword [ebp - 0x60], edi
mov edi, dword [ebp - 0x68]
add edi, 0x100000
mov dword [ebp - 0x5c], ecx
adc ebx, 0
and al, 3
movzx eax, al
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 4]
shld ecx, esi, 8
shrd edi, ebx, 0x15
shl esi, 8
movzx eax, byte [eax + 0x2e]
cdq
and eax, 0x3ff
sar ebx, 0x15
or esi, eax
shld ecx, esi, 0xb
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 4]
shl esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xffffffffffffffff
movzx eax, byte [ecx + 0x2d]
movzx ecx, byte [ecx + 0x2c]
cdq
mov esi, eax
shr cl, 5
shld edx, esi, 3
movzx eax, cl
mov ecx, dword [ebp - 0x1c]
cdq
shl esi, 3
or esi, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
and esi, 0x1fffff
or ecx, esi
mov esi, dword [ebp - 0x94]
add ecx, edi
mov dword [ebp - 0x1c], ecx
adc eax, ebx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
add ecx, 0x100000
mov eax, dword [ebp - 0x88]
adc eax, 0
shrd ecx, eax, 0x15
push 0xffe00000
sar eax, 0x15
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xac], eax
add ecx, 0x100000
mov eax, dword [ebp - 0x90]
adc eax, 0
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x100000
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x8c]
adc esi, 0
shld edx, eax, 0x15
shrd ecx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov dword [ebp - 0xb4], ecx
sub ecx, eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x98], esi
sbb esi, edx
add dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x24]
adc dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x38]
add esi, 0x100000
adc edx, 0
shld dword [ebp - 0x40], eax, 0x15
shrd esi, edx, 0x15
shl eax, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, eax
mov eax, edx
push edx
sbb eax, dword [ebp - 0x40]
add dword [ebp - 0x48], ecx
push esi
adc dword [ebp - 0x7c], eax
call fcn.00427670
add dword [ebp - 0x38], eax
mov esi, dword [ebp - 0x5c]
adc dword [ebp - 0x24], edx
add esi, 0x100000
mov edx, dword [ebp - 0x60]
adc edx, 0
shrd esi, edx, 0x15
shld ebx, edi, 0x15
sar edx, 0x15
mov ecx, esi
shl edi, 0x15
mov eax, edx
push 0xffffffffffffffff
sub ecx, edi
push 0xffe00000
sbb eax, ebx
add dword [ebp - 0x68], ecx
push edx
adc dword [ebp - 0x80], eax
push esi
call fcn.00427670
mov ebx, dword [ebp - 0x18]
add dword [ebp - 0x5c], eax
push 0
adc dword [ebp - 0x60], edx
push 0xa6f7d
push ebx
push dword [ebp - 0x1c]
call fcn.00427670
push 0xffffffffffffffff
push 0xffe00000
push dword [ebp - 0x28]
mov esi, eax
mov edi, edx
push dword [ebp - 0xc]
call fcn.00427670
sub eax, esi
push 0
sbb edx, edi
add eax, dword [ebp - 0x9c]
push 0xa6f7d
adc edx, dword [ebp - 0xb0]
push dword [ebp - 0x60]
add dword [ebp - 8], eax
push dword [ebp - 0x5c]
adc dword [ebp - 0x78], edx
call fcn.00427670
push 0xffffffffffffffff
push 0xfff0c653
push ebx
push dword [ebp - 0x1c]
mov esi, eax
mov edi, edx
call fcn.00427670
mov ebx, eax
push 0
sub ebx, esi
mov esi, edx
push 0x215d1
sbb esi, edi
mov edi, dword [ebp - 0x80]
push edi
push dword [ebp - 0x68]
call fcn.00427670
mov ecx, dword [ebp - 0xbc]
add ebx, eax
mov eax, dword [ebp - 0x14]
adc esi, edx
shld eax, ecx, 0x15
push 0
shl ecx, 0x15
sub ebx, ecx
push 0x9fb67
sbb esi, eax
add ebx, dword [ebp - 0xa4]
push edi
adc esi, dword [ebp - 0xac]
add dword [ebp - 0x20], ebx
push dword [ebp - 0x68]
adc dword [ebp - 0x64], esi
call fcn.00427670
push 0
push 0xa6f7d
push dword [ebp - 0x24]
mov esi, eax
mov edi, edx
push dword [ebp - 0x38]
call fcn.00427670
mov ebx, dword [ebp - 0x60]
sub esi, eax
push 0
push 0xf39ad
push ebx
push dword [ebp - 0x5c]
sbb edi, edx
call fcn.00427670
push 0
push 0x72d18
push dword [ebp - 0x18]
sub esi, eax
push dword [ebp - 0x1c]
sbb edi, edx
call fcn.00427670
push 0
push 0x215d1
push dword [ebp - 0x7c]
add esi, eax
push dword [ebp - 0x48]
adc edi, edx
call fcn.00427670
mov ecx, dword [ebp - 0xa0]
add esi, eax
mov eax, dword [ebp - 0xa8]
adc edi, edx
shld eax, ecx, 0x15
push 0
shl ecx, 0x15
sub esi, ecx
push 0xa2c13
sbb edi, eax
add dword [ebp - 0x3c], esi
push dword [ebp - 0x2c]
adc dword [ebp - 0x84], edi
xor esi, esi
mov edi, dword [ebp - 4]
push dword [ebp - 0x58]
movzx eax, byte [edi + 2]
and al, 0x1f
movzx eax, al
cdq
mov ecx, eax
movzx eax, byte [edi]
shld edx, ecx, 0x10
cdq
shl ecx, 0x10
or ecx, eax
movzx eax, byte [edi + 1]
and ecx, 0x1fffff
cdq
mov dword [ebp - 0x74], ecx
and eax, 0x1fff
mov edi, dword [ebp - 0x74]
xor ecx, ecx
shld ecx, eax, 8
shl eax, 8
or esi, ecx
or edi, eax
call fcn.00427670
add edi, eax
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 4]
adc esi, edx
mov dword [ebp - 0x40], esi
xor esi, esi
movzx eax, byte [edi + 6]
movzx ecx, byte [edi + 5]
cdq
shld edx, eax, 6
shr cl, 2
shl eax, 6
mov dword [ebp - 0x28], eax
movzx eax, cl
mov ecx, dword [ebp - 0x28]
cdq
or ecx, eax
movzx eax, byte [edi + 7]
and ecx, 0x1fffff
and al, 0x7f
movzx eax, al
push 0
cdq
shld edx, eax, 0xe
push 0x9fb67
push dword [ebp - 0x2c]
shl eax, 0xe
or esi, edx
push dword [ebp - 0x58]
or ecx, eax
mov dword [ebp - 0x28], ecx
call fcn.00427670
mov edi, dword [ebp - 0x24]
add dword [ebp - 0x28], eax
push 0
push 0x72d18
push edi
push dword [ebp - 0x38]
adc esi, edx
call fcn.00427670
add dword [ebp - 0x28], eax
push 0
push 0xa2c13
push dword [ebp - 0x7c]
adc esi, edx
push dword [ebp - 0x48]
call fcn.00427670
add dword [ebp - 0x28], eax
push 0
adc esi, edx
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 4]
push 0x9fb67
push dword [ebp - 0x7c]
movzx eax, byte [esi + 0xd]
and al, 1
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
push dword [ebp - 0x48]
shl eax, 8
mov dword [ebp - 0x14], eax
movzx eax, byte [esi + 0xc]
cdq
mov edx, dword [ebp - 0x14]
and eax, 0x1ff
or edx, eax
movzx eax, byte [esi + 0xb]
shld ecx, edx, 0xc
shl edx, 0xc
mov dword [ebp - 0x14], edx
cdq
mov esi, eax
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 4]
shld edx, esi, 4
shl esi, 4
movzx ecx, byte [eax + 0xa]
shr cl, 4
movzx eax, cl
cdq
or esi, eax
and esi, 0x1fffff
or dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x50]
call fcn.00427670
add dword [ebp - 0x14], eax
push 0
push 0xf39ad
push edi
push dword [ebp - 0x38]
adc esi, edx
call fcn.00427670
sub dword [ebp - 0x14], eax
push 0
push 0x72d18
push ebx
push dword [ebp - 0x5c]
sbb esi, edx
call fcn.00427670
mov ebx, dword [ebp - 0x14]
push 0
push 0xa2c13
push dword [ebp - 0x80]
add ebx, eax
push dword [ebp - 0x68]
adc esi, edx
call fcn.00427670
push 0
push 0x215d1
push dword [ebp - 0x2c]
add ebx, eax
push dword [ebp - 0x58]
adc esi, edx
call fcn.00427670
mov edi, dword [ebp - 0x74]
add ebx, eax
mov eax, dword [ebp - 4]
adc esi, edx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x40]
add edi, 0x100000
mov dword [ebp - 0x50], esi
movzx eax, byte [eax + 5]
adc ebx, 0
and al, 3
movzx eax, al
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 4]
shld ecx, esi, 8
push 0
shl esi, 8
movzx eax, byte [eax + 4]
cdq
and eax, 0x3ff
or esi, eax
shld ecx, esi, 0xb
push 0x72d18
push dword [ebp - 0x2c]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 4]
push dword [ebp - 0x58]
shl esi, 0xb
mov dword [ebp - 0x4c], esi
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 2]
cdq
mov esi, eax
shr cl, 5
shld edx, esi, 3
movzx eax, cl
shl esi, 3
cdq
or esi, eax
shrd edi, ebx, 0x15
and esi, 0x1fffff
or dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x6c]
sar ebx, 0x15
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xbc], ebx
call fcn.00427670
add dword [ebp - 0x4c], eax
push 0
push 0xa2c13
push dword [ebp - 0x24]
adc esi, edx
push dword [ebp - 0x38]
call fcn.00427670
mov ecx, dword [ebp - 0x4c]
add ecx, eax
adc esi, edx
add ecx, edi
mov edi, dword [ebp - 0x28]
adc esi, ebx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [ebp - 0x70]
add edi, 0x100000
mov dword [ebp - 0x6c], esi
adc ebx, 0
mov eax, dword [ebp - 4]
push 0
push 0x9fb67
push dword [ebp - 0x24]
movzx eax, byte [eax + 0xa]
and al, 0xf
movzx eax, al
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 4]
shld ecx, esi, 8
push dword [ebp - 0x38]
shl esi, 8
movzx eax, byte [eax + 9]
cdq
and eax, 0xfff
or esi, eax
shld ecx, esi, 9
shrd edi, ebx, 0x15
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 4]
shl esi, 9
mov dword [ebp - 0x30], esi
sar ebx, 0x15
movzx eax, byte [ecx + 8]
movzx ecx, byte [ecx + 7]
cdq
mov esi, eax
shr cl, 7
shld edx, esi, 1
movzx eax, cl
add esi, esi
cdq
or esi, eax
mov dword [ebp - 0x8c], edi
and esi, 0x1fffff
mov dword [ebp - 0xc0], ebx
or dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x54]
call fcn.00427670
add dword [ebp - 0x30], eax
push 0
push 0xf39ad
push dword [ebp - 0x2c]
adc esi, edx
push dword [ebp - 0x58]
call fcn.00427670
sub dword [ebp - 0x30], eax
push 0
push 0x72d18
push dword [ebp - 0x7c]
sbb esi, edx
push dword [ebp - 0x48]
call fcn.00427670
add dword [ebp - 0x30], eax
push 0
push 0xa2c13
push dword [ebp - 0x60]
adc esi, edx
push dword [ebp - 0x5c]
call fcn.00427670
mov ecx, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
add ecx, edi
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 4]
adc esi, ebx
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 0x14]
movzx eax, byte [ecx + 0xe]
add esi, 0x100000
cdq
adc ebx, 0
mov edi, eax
shrd esi, ebx, 0x15
sar ebx, 0x15
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xc4], ebx
movzx ecx, byte [ecx + 0xd]
shld edx, edi, 7
shr cl, 1
shl edi, 7
movzx eax, cl
cdq
or edi, eax
mov eax, dword [ebp - 4]
push 0
push 0x9fb67
push dword [ebp - 0x60]
movzx eax, byte [eax + 0xf]
and edi, 0x1fffff
push dword [ebp - 0x5c]
and al, 0x3f
mov dword [ebp - 0xc], edi
movzx eax, al
xor edi, edi
cdq
shld edx, eax, 0xf
shl eax, 0xf
or edi, edx
or dword [ebp - 0xc], eax
call fcn.00427670
add dword [ebp - 0xc], eax
push 0
push 0xa6f7d
push dword [ebp - 0x2c]
adc edi, edx
push dword [ebp - 0x58]
call fcn.00427670
sub dword [ebp - 0xc], eax
push 0
push 0xf39ad
push dword [ebp - 0x7c]
sbb edi, edx
push dword [ebp - 0x48]
call fcn.00427670
sub dword [ebp - 0xc], eax
push 0
push 0x72d18
push dword [ebp - 0x80]
sbb edi, edx
push dword [ebp - 0x68]
call fcn.00427670
add dword [ebp - 0xc], eax
push 0
adc edi, edx
push 0xa2c13
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x18]
push edi
push dword [ebp - 0x1c]
call fcn.00427670
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x2c]
push 0
push 0x215d1
push dword [ebp - 0x24]
adc eax, edx
push dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
call fcn.00427670
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov eax, dword [ebp - 0x2c]
push 0
adc eax, edx
add ecx, esi
mov dword [ebp - 0xc], ecx
adc eax, ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
add ebx, 0x100000
mov eax, dword [ebp - 0x84]
adc eax, 0
shrd ebx, eax, 0x15
push 0x9fb67
sar eax, 0x15
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0x24], eax
push edi
push dword [ebp - 0x1c]
call fcn.00427670
push 0
push 0xa6f7d
push dword [ebp - 0x7c]
mov esi, eax
mov edi, edx
push dword [ebp - 0x48]
call fcn.00427670
push 0
push 0xf39ad
push dword [ebp - 0x80]
sub esi, eax
push dword [ebp - 0x68]
sbb edi, edx
call fcn.00427670
push 0
push 0x215d1
push dword [ebp - 0x60]
sub esi, eax
push dword [ebp - 0x5c]
sbb edi, edx
call fcn.00427670
mov ecx, dword [ebp - 0xa4]
add esi, eax
mov eax, dword [ebp - 0xac]
adc edi, edx
shld eax, ecx, 0x15
push 0
shl ecx, 0x15
sub esi, ecx
push 0xa6f7d
push dword [ebp - 0x80]
sbb edi, eax
add esi, ebx
mov ebx, dword [ebp - 0x20]
adc edi, dword [ebp - 0x24]
add dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x64]
adc dword [ebp - 0x88], edi
add ebx, 0x100000
push dword [ebp - 0x68]
adc eax, 0
shrd ebx, eax, 0x15
sar eax, 0x15
mov dword [ebp - 0xa0], eax
call fcn.00427670
push 0
push 0x215d1
push dword [ebp - 0x18]
mov esi, eax
mov edi, edx
push dword [ebp - 0x1c]
call fcn.00427670
mov ecx, dword [ebp - 0xb0]
sub eax, esi
mov esi, dword [ebp - 0x9c]
sbb edx, edi
mov edi, dword [ebp - 0xa0]
shld ecx, esi, 0x15
shl esi, 0x15
sub eax, esi
mov esi, dword [ebp - 0x78]
sbb edx, ecx
add eax, ebx
adc edx, edi
add dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xb4]
adc dword [ebp - 0x90], edx
mov edx, dword [ebp - 8]
add edx, 0x100000
adc esi, 0
shld dword [ebp - 0x98], eax, 0x15
shrd edx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov ecx, edx
sub ecx, eax
mov eax, esi
sbb eax, dword [ebp - 0x98]
add dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x4c]
adc dword [ebp - 0x94], eax
add ecx, 0x100000
mov eax, dword [ebp - 0x6c]
adc eax, 0
shrd ecx, eax, 0x15
push 0
sar eax, 0x15
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x30]
add ecx, 0x100000
push 0xa2c13
adc eax, 0
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0x100000
adc eax, 0
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xa8]
shld dword [ebp - 0x24], eax, 0x15
mov dword [ebp - 0x1c], ecx
shl eax, 0x15
sub ecx, eax
mov eax, dword [ebp - 0xb0]
sbb eax, dword [ebp - 0x24]
add dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x88]
adc dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x44]
add eax, 0x100000
adc ecx, 0
shrd eax, ecx, 0x15
shld edi, ebx, 0x15
sar ecx, 0x15
shl ebx, 0x15
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
mov ecx, eax
mov eax, dword [ebp - 0xa4]
sub ecx, ebx
mov ebx, dword [ebp - 0x90]
sbb eax, edi
add dword [ebp - 0x20], ecx
adc dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x34]
add eax, 0x100000
adc ebx, 0
shld esi, edx, 0x15
shrd eax, ebx, 0x15
shl edx, 0x15
sar ebx, 0x15
mov dword [ebp - 0x68], eax
sub eax, edx
mov dword [ebp - 0x5c], ebx
sbb ebx, esi
add dword [ebp - 8], eax
mov esi, dword [ebp - 0x94]
adc dword [ebp - 0x78], ebx
mov ebx, dword [ebp - 0x10]
add ebx, 0x100000
adc esi, 0
shrd ebx, esi, 0x15
sar esi, 0x15
push esi
push ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x18], esi
call fcn.00427670
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xc8]
shld ecx, edi, 0x15
shl edi, 0x15
sub eax, edi
mov edi, dword [ebp - 0xc0]
push 0
sbb edx, ecx
add dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x8c]
adc dword [ebp - 0x40], edx
push 0x9fb67
shld edi, eax, 0x15
push esi
shl eax, 0x15
push ebx
mov dword [ebp - 0x8c], eax
call fcn.00427670
sub eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xa0]
sbb edx, edi
mov edi, dword [ebp - 0xb4]
push 0
add eax, edi
push 0x215d1
push dword [ebp - 0x18]
adc edx, esi
add dword [ebp - 0x28], eax
push ebx
adc dword [ebp - 0x70], edx
call fcn.00427670
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xb8]
shld ecx, ebx, 0x15
push 0
shl ebx, 0x15
sub eax, ebx
mov ebx, dword [ebp - 0xac]
push 0x72d18
push dword [ebp - 0x18]
sbb edx, ecx
add eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x40]
push dword [ebp - 0x98]
adc edx, ebx
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x74]
adc dword [ebp - 0x50], edx
shrd eax, ecx, 0x15
sar ecx, 0x15
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x60], ecx
call fcn.00427670
mov ecx, dword [ebp - 0x6c]
shld esi, edi, 0x15
push 0
shl edi, 0x15
sub eax, edi
push 0xf39ad
sbb edx, esi
add eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x60]
add esi, eax
push dword [ebp - 0x18]
adc ecx, edx
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x70]
mov eax, esi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x6c], ecx
shrd eax, ecx, 0x15
sar ecx, 0x15
add esi, eax
mov dword [ebp - 0xc4], ecx
adc edx, ecx
mov dword [ebp - 0xb8], eax
mov eax, esi
mov dword [ebp - 0x28], esi
mov ecx, edx
mov dword [ebp - 0x70], edx
shrd eax, ecx, 0x15
sar ecx, 0x15
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x80], ecx
push dword [ebp - 0x98]
call fcn.00427670
push 0xffffffffffffffff
push 0xffe00000
push ebx
push dword [ebp - 0x9c]
mov esi, eax
mov edi, edx
call fcn.00427670
mov ecx, dword [ebp - 0x30]
sub eax, esi
mov ebx, dword [ebp - 0xb0]
sbb edx, edi
mov esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x98]
adc edx, dword [ebp - 0x80]
add ecx, eax
mov eax, dword [ebp - 0x54]
adc eax, edx
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
shrd ecx, eax, 0x15
push 0xffffffffffffffff
sar eax, 0x15
add edx, ecx
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0x50]
adc ecx, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x50], ecx
mov eax, edx
push 0xfff59083
push dword [ebp - 0x18]
shrd eax, ecx, 0x15
shld ebx, esi, 0x15
sar ecx, 0x15
push edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x7c], ecx
shl esi, 0x15
call fcn.00427670
mov ecx, dword [ebp - 0x2c]
sub eax, esi
sbb edx, ebx
add eax, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xc]
adc edx, dword [ebp - 0x7c]
add ebx, eax
mov eax, ebx
mov dword [ebp - 0xc], ebx
adc ecx, edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
shrd eax, ecx, 0x15
sar ecx, 0x15
add edx, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x84]
adc eax, ecx
mov dword [ebp - 0x8c], ecx
mov ecx, edx
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0xa4]
mov ebx, eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa8]
shrd ecx, ebx, 0x15
shld edx, eax, 0x15
sar ebx, 0x15
shl eax, 0x15
mov dword [ebp - 0xa0], ecx
sub ecx, eax
mov dword [ebp - 0xbc], ebx
sbb ebx, edx
mov edx, dword [ebp - 0x44]
add edx, ecx
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x44], edx
adc ecx, ebx
mov eax, edx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x88], ecx
shrd eax, ecx, 0x15
push 0
sar ecx, 0x15
add edx, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x64]
adc eax, ecx
mov dword [ebp - 0xb0], ecx
mov ebx, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x68]
mov ecx, edx
shrd ecx, ebx, 0x15
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x5c]
shld edx, eax, 0x15
mov dword [ebp - 0xa4], ecx
shl eax, 0x15
sar ebx, 0x15
sub ecx, eax
mov eax, ebx
mov dword [ebp - 0x98], ebx
sbb eax, edx
mov edx, dword [ebp - 0x34]
add edx, ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x34], edx
adc ecx, eax
mov eax, edx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x90], ecx
shrd eax, ecx, 0x15
push 0xa2c13
sar ecx, 0x15
add edx, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x78]
adc eax, ecx
mov dword [ebp - 0x5c], ecx
mov ecx, edx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x78], eax
shrd ecx, eax, 0x15
shld edx, edi, 0x15
sar eax, 0x15
mov dword [ebp - 0x48], ecx
shl edi, 0x15
sub ecx, edi
mov dword [ebp - 0x38], eax
sbb eax, edx
mov edx, dword [ebp - 0x10]
add edx, ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x10], edx
adc ecx, eax
mov eax, edx
mov dword [ebp - 0x94], ecx
shrd eax, ecx, 0x15
sar ecx, 0x15
push ecx
push eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ecx
call fcn.00427670
mov ecx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x60]
shld ebx, ecx, 0x15
shl ecx, 0x15
sub eax, ecx
mov ecx, dword [ebp - 0x74]
sbb edx, ebx
add ecx, eax
mov eax, dword [ebp - 0x40]
adc eax, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x40], eax
push 0
push 0x72d18
push dword [ebp - 0x1c]
mov edi, ecx
mov esi, eax
push dword [ebp - 0x18]
shrd edi, esi, 0x15
sar esi, 0x15
call fcn.00427670
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xc4]
shld ebx, ecx, 0x15
push 0xffffffffffffffff
shl ecx, 0x15
sub eax, ecx
push 0xffe00000
sbb edx, ebx
add eax, edi
mov ebx, dword [ebp - 0x6c]
adc edx, esi
add dword [ebp - 0x4c], eax
push esi
adc ebx, edx
push edi
mov dword [ebp - 0x6c], ebx
call fcn.00427670
add dword [ebp - 0x74], eax
mov esi, ebx
mov ebx, dword [ebp - 0x24]
adc dword [ebp - 0x40], edx
mov edi, dword [ebp - 0x4c]
shld dword [ebp - 0x80], ebx, 0x15
push 0
push 0x9fb67
push dword [ebp - 0x1c]
shrd edi, esi, 0x15
push dword [ebp - 0x18]
sar esi, 0x15
shl ebx, 0x15
call fcn.00427670
sub eax, ebx
mov ebx, dword [ebp - 0x70]
push 0xffffffffffffffff
sbb edx, dword [ebp - 0x80]
add eax, edi
push 0xffe00000
adc edx, esi
add dword [ebp - 0x28], eax
push esi
adc ebx, edx
push edi
mov dword [ebp - 0x70], ebx
call fcn.00427670
add dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x6c]
adc eax, edx
push 0
push 0xf39ad
push dword [ebp - 0x1c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x18]
shrd eax, ebx, 0x15
mov dword [ebp - 0xb8], eax
sar ebx, 0x15
call fcn.00427670
push 0xffffffffffffffff
push 0xffe00000
push dword [ebp - 0xc0]
mov esi, eax
mov edi, edx
push dword [ebp - 0xc8]
call fcn.00427670
mov ecx, dword [ebp - 0xb8]
sub eax, esi
sbb edx, edi
mov edi, dword [ebp - 0x30]
add eax, ecx
adc edx, ebx
add edi, eax
mov dword [ebp - 0x30], edi
mov esi, dword [ebp - 0x54]
push 0xffffffffffffffff
push 0xffe00000
push ebx
adc esi, edx
push ecx
mov dword [ebp - 0x54], esi
call fcn.00427670
add dword [ebp - 0x28], eax
push 0
adc dword [ebp - 0x70], edx
push 0x215d1
push dword [ebp - 0x1c]
shrd edi, esi, 0x15
push dword [ebp - 0x18]
sar esi, 0x15
call fcn.00427670
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x7c]
shld ebx, ecx, 0x15
push 0xffffffffffffffff
shl ecx, 0x15
sub eax, ecx
push 0xffe00000
sbb edx, ebx
add eax, edi
mov ebx, dword [ebp - 0x50]
adc edx, esi
add dword [ebp - 0x14], eax
push esi
adc ebx, edx
push edi
mov dword [ebp - 0x50], ebx
call fcn.00427670
add dword [ebp - 0x30], eax
mov esi, ebx
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0xb4]
adc eax, edx
mov edi, dword [ebp - 0x14]
shld dword [ebp - 0x8c], ebx, 0x15
push 0xffffffffffffffff
push 0xfff59083
push dword [ebp - 0x1c]
shrd edi, esi, 0x15
push dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
sar esi, 0x15
shl ebx, 0x15
call fcn.00427670
sub eax, ebx
mov ebx, dword [ebp - 0x2c]
push 0xffffffffffffffff
sbb edx, dword [ebp - 0x8c]
add eax, edi
push 0xffe00000
adc edx, esi
add dword [ebp - 0xc], eax
push esi
push edi
adc ebx, edx
call fcn.00427670
add dword [ebp - 0x14], eax
mov esi, dword [ebp - 0xc]
adc dword [ebp - 0x50], edx
mov edx, ebx
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xbc]
shld edi, eax, 0x15
shrd esi, edx, 0x15
shl eax, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, eax
mov eax, edx
push 0xffffffffffffffff
sbb eax, edi
add dword [ebp - 0x3c], ecx
mov edi, dword [ebp - 0x84]
adc edi, eax
mov dword [ebp - 0x84], edi
push 0xffe00000
push edx
push esi
call fcn.00427670
add dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xa8]
adc ebx, edx
mov edx, edi
mov dword [ebp - 0x2c], ebx
mov edi, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0x88]
shld edi, eax, 0x15
shrd esi, edx, 0x15
shl eax, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, eax
mov eax, edx
push 0xffffffffffffffff
sbb eax, edi
mov edi, dword [ebp - 0x44]
push 0xffe00000
add edi, ecx
push edx
push esi
mov dword [ebp - 0x44], edi
adc ebx, eax
call fcn.00427670
add dword [ebp - 0x3c], eax
mov esi, edi
mov eax, dword [ebp - 0xa4]
adc dword [ebp - 0x84], edx
mov edx, ebx
mov edi, dword [ebp - 0x98]
shld edi, eax, 0x15
shrd esi, edx, 0x15
shl eax, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, eax
mov eax, edx
push 0xffffffffffffffff
sbb eax, edi
add dword [ebp - 0x20], ecx
mov edi, dword [ebp - 0x64]
push 0xffe00000
push edx
adc edi, eax
push esi
mov dword [ebp - 0x64], edi
call fcn.00427670
add dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
adc ebx, edx
mov edx, edi
mov dword [ebp - 0x88], ebx
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x90]
shld edi, eax, 0x15
shrd esi, edx, 0x15
shl eax, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, eax
mov eax, edx
push 0xffffffffffffffff
sbb eax, edi
mov edi, dword [ebp - 0x34]
push 0xffe00000
add edi, ecx
push edx
push esi
mov dword [ebp - 0x34], edi
adc ebx, eax
call fcn.00427670
add dword [ebp - 0x20], eax
mov esi, edi
adc dword [ebp - 0x64], edx
mov edx, ebx
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x38]
shld edi, eax, 0x15
shrd esi, edx, 0x15
shl eax, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, eax
mov eax, edx
push 0xffffffffffffffff
sbb eax, edi
add dword [ebp - 8], ecx
mov edi, dword [ebp - 0x78]
push 0xffe00000
push edx
adc edi, eax
push esi
mov dword [ebp - 0x78], edi
call fcn.00427670
add dword [ebp - 0x34], eax
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
adc ebx, edx
mov dword [ebp - 0x90], ebx
mov edx, edi
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x94]
shrd esi, edx, 0x15
shld ebx, eax, 0x15
sar edx, 0x15
mov ecx, esi
shl eax, 0x15
sub ecx, eax
mov eax, edx
push 0xffffffffffffffff
push 0xffe00000
sbb eax, ebx
add dword [ebp - 0x10], ecx
push edx
push esi
adc edi, eax
call fcn.00427670
add dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
adc esi, edx
mov edx, dword [ebp - 0x40]
mov ecx, eax
mov byte [ebx], al
mov eax, edx
shrd ecx, eax, 8
sar eax, 8
mov byte [ebx + 1], cl
mov ebx, dword [ebp - 0x4c]
mov al, bl
mov ecx, dword [ebp - 0x74]
shrd ecx, edx, 0x10
shl al, 5
or cl, al
sar edx, 0x10
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x6c]
mov byte [eax + 2], cl
mov eax, edx
mov ecx, ebx
shrd ecx, eax, 3
sar eax, 3
mov eax, dword [ebp - 4]
mov byte [eax + 3], cl
mov eax, edx
mov ecx, ebx
shrd ecx, eax, 0xb
shrd ebx, edx, 0x13
sar eax, 0xb
mov eax, dword [ebp - 4]
sar edx, 0x13
mov byte [eax + 4], cl
mov ecx, dword [ebp - 0x28]
mov al, cl
shl al, 2
or bl, al
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 4]
mov byte [eax + 5], bl
mov eax, edx
shrd ecx, eax, 6
mov ebx, dword [ebp - 0x30]
sar eax, 6
mov eax, dword [ebp - 4]
mov byte [eax + 6], cl
mov al, bl
mov ecx, dword [ebp - 0x28]
shl al, 7
shrd ecx, edx, 0xe
or cl, al
sar edx, 0xe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x54]
mov byte [eax + 7], cl
mov eax, edx
mov ecx, ebx
shrd ecx, eax, 1
sar eax, 1
mov eax, dword [ebp - 4]
mov byte [eax + 8], cl
mov eax, edx
mov ecx, ebx
shrd ecx, eax, 9
shrd ebx, edx, 0x11
sar eax, 9
mov eax, dword [ebp - 4]
sar edx, 0x11
mov edx, dword [ebp - 0x50]
mov byte [eax + 9], cl
mov ecx, dword [ebp - 0x14]
mov al, cl
shl al, 4
or bl, al
mov eax, dword [ebp - 4]
mov byte [eax + 0xa], bl
mov eax, edx
mov ebx, dword [ebp - 4]
shrd ecx, eax, 4
sar eax, 4
mov byte [ebx + 0xb], cl
mov eax, edx
mov ecx, dword [ebp - 0x14]
shrd ecx, eax, 0xc
sar eax, 0xc
mov byte [ebx + 0xc], cl
mov ebx, dword [ebp - 0xc]
mov al, bl
mov ecx, dword [ebp - 0x14]
add al, al
shrd ecx, edx, 0x14
or cl, al
sar edx, 0x14
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov byte [eax + 0xd], cl
mov ecx, ebx
mov eax, edx
shrd ecx, eax, 7
shrd ebx, edx, 0xf
sar eax, 7
mov eax, dword [ebp - 4]
sar edx, 0xf
mov edx, dword [ebp - 0x84]
mov byte [eax + 0xe], cl
mov ecx, dword [ebp - 0x3c]
mov al, cl
shl al, 6
or bl, al
mov eax, dword [ebp - 4]
mov byte [eax + 0xf], bl
mov eax, edx
mov ebx, dword [ebp - 4]
shrd ecx, eax, 2
sar eax, 2
mov byte [ebx + 0x10], cl
mov ecx, dword [ebp - 0x3c]
mov eax, edx
shrd ecx, eax, 0xa
sar eax, 0xa
mov byte [ebx + 0x11], cl
mov ebx, dword [ebp - 0x44]
mov al, bl
mov ecx, dword [ebp - 0x3c]
shl al, 3
shrd ecx, edx, 0x12
or cl, al
sar edx, 0x12
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x88]
mov byte [eax + 0x12], cl
mov eax, edx
mov ecx, ebx
shrd ecx, eax, 5
shrd ebx, edx, 0xd
sar eax, 5
mov eax, dword [ebp - 4]
sar edx, 0xd
mov edx, dword [ebp - 0x64]
mov byte [eax + 0x14], bl
mov ebx, dword [ebp - 4]
mov byte [eax + 0x13], cl
mov eax, dword [ebp - 0x20]
mov ecx, eax
mov byte [ebx + 0x15], al
mov eax, edx
shrd ecx, eax, 8
sar eax, 8
mov byte [ebx + 0x16], cl
mov ebx, dword [ebp - 0x34]
mov al, bl
mov ecx, dword [ebp - 0x20]
shl al, 5
shrd ecx, edx, 0x10
or cl, al
sar edx, 0x10
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x90]
mov byte [eax + 0x17], cl
mov ecx, ebx
mov eax, edx
shrd ecx, eax, 3
sar eax, 3
mov eax, dword [ebp - 4]
mov byte [eax + 0x18], cl
mov ecx, ebx
mov eax, edx
shrd ecx, eax, 0xb
shrd ebx, edx, 0x13
sar eax, 0xb
mov eax, dword [ebp - 4]
sar edx, 0x13
mov edx, dword [ebp - 4]
mov byte [eax + 0x19], cl
movzx eax, byte [ebp - 8]
shl al, 2
or bl, al
mov eax, esi
mov byte [edx + 0x1a], bl
mov ebx, dword [ebp - 8]
mov ecx, ebx
shrd ecx, eax, 6
shrd ebx, esi, 0xe
sar eax, 6
mov byte [edx + 0x1b], cl
mov edx, dword [ebp - 0x10]
mov al, dl
shl al, 7
mov ecx, edx
or bl, al
sar esi, 0xe
mov esi, dword [ebp - 4]
mov eax, edi
shrd ecx, eax, 1
sar eax, 1
mov byte [esi + 0x1d], cl
mov ecx, edx
mov byte [esi + 0x1c], bl
mov eax, edi
shrd ecx, eax, 9
shrd edx, edi, 0x11
sar eax, 9
sar edi, 0x11
pop edi
mov byte [esi + 0x1e], cl
mov byte [esi + 0x1f], dl
pop esi
pop ebx
mov esp, ebp
pop ebp
ret