Function at 0x47e830
Capabilities:
Decompress data using quicklz
Resolve function by parsing pe exports

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