Function at 0x45bd10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc8
push ebx
push ebp
mov ebp, dword [esp + 0xd8]
push esi
mov esi, dword [esp + 0xd8]
push edi
mov ecx, 0x10
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x45bd47
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
test edi, edi
je 0x45be21
xor eax, eax
mov esi, ecx
mov edi, ebx
shrd esi, edi, 8
or eax, esi
mov ebp, ecx
shrd ebp, ebx, 1
mov edx, ecx
shr edi, 8
mov esi, ecx
shl esi, 0x1f
shl edx, 0x18
or edx, edi
shr ebx, 1
or esi, ebx
xor edx, esi
mov esi, dword [esp + 0x64]
shrd ecx, esi, 7
xor edi, edi
or edi, ebp
xor eax, edi
xor eax, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc8]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
shr esi, 7
xor edx, esi
xor edi, edi
or edi, ebx
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
shl esi, 0xd
add eax, eax
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0xcc]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0xc8]
shrd ecx, eax, 6
xor edi, ebx
xor esi, ebp
shr eax, 6
xor edi, ecx
mov ecx, dword [esp + 0x54]
xor esi, eax
mov eax, dword [esp + 0x18]
add ecx, edi
adc edx, esi
add ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x38]
adc edx, dword [esp + 0xa4]
add dword [esp + 0x58], ecx
adc dword [esp + 0x5c], edx
mov edx, dword [esp + 0x34]
jmp 0x45be2f
mov ecx, dword [ebp]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 4]
mov dword [esp + 0x5c], ecx
mov ecx, edx
mov ebp, esi
shld ebp, ecx, 0x17
shl ecx, 0x17
mov edi, esi
shr edi, 9
or edi, ecx
xor ebx, ebx
or ebx, ebp
mov ecx, edx
shrd edx, esi, 0x12
xor ebp, ebp
or ebp, edx
shl ecx, 0xe
shr esi, 0x12
or ecx, esi
xor ebx, ecx
mov ecx, dword [esp + 0x34]
xor edi, ebp
mov ebp, dword [esp + 0x38]
mov edx, ecx
shrd ecx, ebp, 0xe
xor esi, esi
or esi, ecx
mov ecx, dword [esp + 0x44]
shl edx, 0x12
shr ebp, 0xe
or edx, ebp
mov ebp, dword [esp + 0x40]
xor ebx, edx
mov edx, dword [esp + 0x48]
xor edi, esi
mov esi, dword [esp + 0x3c]
xor esi, ecx
and esi, dword [esp + 0x34]
xor ebp, edx
and ebp, dword [esp + 0x38]
xor esi, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x50]
add edi, esi
adc ebx, ebp
add edi, dword [ecx*8 + 0x49a288]
mov ebp, eax
adc ebx, dword [ecx*8 + 0x49a28c]
add edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
adc ebx, dword [esp + 0x5c]
add ecx, edi
adc edx, ebx
add dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x14]
adc dword [esp + 0x30], edx
mov dword [esp + 0x50], edx
mov edx, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
mov esi, ecx
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
xor ebx, ebx
or ebx, ebp
xor edi, edi
or edi, edx
xor esi, ebx
mov ebx, dword [esp + 0x14]
shl ecx, 0x1e
mov edx, eax
shr edx, 2
or edx, ecx
mov ebp, eax
shld ebp, ebx, 0x19
xor edi, edx
mov ecx, eax
shr ecx, 7
xor edx, edx
shl ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x20]
or ecx, ebx
xor esi, edx
mov edx, dword [esp + 0x1c]
xor edi, ecx
mov ecx, dword [esp + 0x14]
mov ebx, edx
or ebx, ecx
and ebx, dword [esp + 0x24]
and edx, ecx
mov ecx, dword [esp + 0x20]
or ebp, eax
and ebp, dword [esp + 0x28]
and ecx, eax
or ebx, edx
or ebp, ecx
add edi, ebx
adc esi, ebp
add dword [esp + 0x4c], edi
adc dword [esp + 0x50], esi
cmp dword [esp + 0x10], 0
je 0x45c020
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x6c]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0xd0]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0xd4]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0xd0]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0xd4]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0xa8]
adc edx, dword [esp + 0xac]
add dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
adc dword [esp + 0x64], edx
jmp 0x45c035
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x2c]
xor esi, ebp
mov ebp, dword [esp + 0x30]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
shr ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x3c]
shl edx, 0x12
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x40]
xor esi, ebx
mov ebx, ecx
xor ebx, dword [esp + 0x34]
mov ebp, edx
xor ebp, dword [esp + 0x38]
and ebx, dword [esp + 0x2c]
and ebp, dword [esp + 0x30]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x48]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a290]
adc edi, dword [ecx*8 + 0x49a294]
add esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
adc edi, dword [esp + 0x64]
add ecx, esi
adc edx, edi
add dword [esp + 0x24], ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x28], edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x50]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x50]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x4c]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
or ebx, ecx
mov ecx, dword [esp + 0x4c]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x14]
mov ebp, eax
or ebp, dword [esp + 0x50]
and eax, dword [esp + 0x50]
and ebp, dword [esp + 0x20]
mov ebx, edx
or ebx, ecx
and ebx, dword [esp + 0x1c]
and edx, ecx
or ebp, eax
mov eax, dword [esp + 0x48]
or ebx, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x44], edi
adc eax, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x48], eax
je 0x45c22a
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x74]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0x58]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0x58]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0xb0]
adc edx, dword [esp + 0xb4]
add dword [esp + 0x68], eax
mov eax, dword [esp + 0x48]
adc dword [esp + 0x6c], edx
jmp 0x45c23f
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x24]
xor esi, ebp
mov ebp, dword [esp + 0x28]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
xor ebx, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
or ebx, ecx
mov ecx, dword [esp + 0x34]
xor esi, ebx
mov ebx, dword [esp + 0x2c]
shl edx, 0x12
xor ebx, ecx
and ebx, dword [esp + 0x24]
shr ebp, 0xe
or edx, ebp
mov ebp, dword [esp + 0x30]
xor edi, edx
mov edx, dword [esp + 0x38]
xor ebp, edx
and ebp, dword [esp + 0x28]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x40]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a298]
mov ebx, eax
adc edi, dword [ecx*8 + 0x49a29c]
add esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
adc edi, dword [esp + 0x6c]
add ecx, esi
adc edx, edi
add dword [esp + 0x1c], ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x44]
adc dword [esp + 0x20], edx
mov dword [esp + 0x40], edx
mov edx, ecx
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x44]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x50]
xor edi, ecx
mov ecx, dword [esp + 0x4c]
xor esi, edx
mov edx, dword [esp + 0x44]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x14]
and ecx, edx
mov edx, dword [esp + 0x50]
or ebp, eax
and ebp, dword [esp + 0x18]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x3c], edi
adc dword [esp + 0x40], esi
cmp dword [esp + 0x10], 0
je 0x45c42c
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x7c]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0x60]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0x64]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0x60]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x64]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0xb8]
adc edx, dword [esp + 0xbc]
add dword [esp + 0x70], eax
mov eax, dword [esp + 0x48]
adc dword [esp + 0x74], edx
jmp 0x45c441
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x1c]
xor esi, ebp
mov ebp, dword [esp + 0x20]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
xor ebx, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
or ebx, ecx
mov ecx, dword [esp + 0x2c]
shr ebp, 0xe
xor esi, ebx
mov ebx, dword [esp + 0x24]
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x28]
xor edi, edx
mov edx, dword [esp + 0x30]
xor ebx, ecx
and ebx, dword [esp + 0x1c]
xor ebp, edx
and ebp, dword [esp + 0x20]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x38]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2a0]
adc edi, dword [ecx*8 + 0x49a2a4]
add esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x34]
adc edi, dword [esp + 0x74]
add ecx, esi
adc edx, edi
add dword [esp + 0x14], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x3c]
adc dword [esp + 0x18], edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x40]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x3c]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
mov ebp, dword [esp + 0x40]
or ebx, ecx
mov ecx, dword [esp + 0x3c]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x44]
or ebp, eax
and ebp, dword [esp + 0x50]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x4c]
and ecx, edx
mov edx, dword [esp + 0x40]
and edx, eax
mov eax, dword [esp + 0x38]
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x34], edi
adc eax, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x38], eax
je 0x45c641
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x84]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0x68]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0x6c]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0x68]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x6c]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0xc0]
adc edx, dword [esp + 0xc4]
add dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
adc dword [esp + 0x7c], edx
jmp 0x45c656
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x14]
xor esi, ebp
mov ebp, dword [esp + 0x18]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x24]
shl edx, 0x12
xor esi, ebx
shr ebp, 0xe
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x28]
mov ebx, ecx
xor ebx, dword [esp + 0x1c]
mov ebp, edx
xor ebp, dword [esp + 0x20]
and ebx, dword [esp + 0x14]
and ebp, dword [esp + 0x18]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x30]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2a8]
mov ebx, eax
adc edi, dword [ecx*8 + 0x49a2ac]
add esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x2c]
adc edi, dword [esp + 0x7c]
add ecx, esi
adc edx, edi
add dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
adc dword [esp + 0x50], edx
mov dword [esp + 0x30], edx
mov edx, ecx
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x34]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x40]
xor edi, ecx
mov ecx, dword [esp + 0x3c]
xor esi, edx
mov edx, dword [esp + 0x34]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x44]
and ecx, edx
mov edx, dword [esp + 0x40]
or ebp, eax
and ebp, dword [esp + 0x48]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x2c], edi
adc dword [esp + 0x30], esi
cmp dword [esp + 0x10], 0
je 0x45c852
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x8c]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0x70]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0x74]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0x70]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x74]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0xc8]
adc edx, dword [esp + 0xcc]
add dword [esp + 0x80], eax
mov eax, dword [esp + 0x38]
adc dword [esp + 0x84], edx
jmp 0x45c86d
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x4c]
xor esi, ebp
mov ebp, dword [esp + 0x50]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
shr ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, 0x12
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x20]
xor esi, ebx
mov ebx, ecx
xor ebx, dword [esp + 0x14]
mov ebp, edx
xor ebp, dword [esp + 0x18]
and ebx, dword [esp + 0x4c]
and ebp, dword [esp + 0x50]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x28]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2b0]
adc edi, dword [ecx*8 + 0x49a2b4]
add esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x24]
adc edi, dword [esp + 0x84]
add ecx, esi
adc edx, edi
add dword [esp + 0x44], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
adc dword [esp + 0x48], edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x30]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x30]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x2c]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
mov ebp, dword [esp + 0x30]
or ebx, ecx
mov ecx, dword [esp + 0x2c]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x34]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x3c]
and ecx, edx
mov edx, dword [esp + 0x30]
or ebp, eax
and ebp, dword [esp + 0x40]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x24], edi
adc dword [esp + 0x28], esi
cmp dword [esp + 0x10], 0
je 0x45ca73
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x94]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0x78]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0x7c]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0x78]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x7c]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0xd0]
adc edx, dword [esp + 0xd4]
add dword [esp + 0x88], eax
mov eax, dword [esp + 0x38]
adc dword [esp + 0x8c], edx
jmp 0x45ca8e
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x44]
xor esi, ebp
mov ebp, dword [esp + 0x48]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
shr ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x14]
shl edx, 0x12
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x18]
xor esi, ebx
mov ebx, ecx
xor ebx, dword [esp + 0x4c]
mov ebp, edx
xor ebp, dword [esp + 0x50]
and ebx, dword [esp + 0x44]
and ebp, dword [esp + 0x48]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x20]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2b8]
adc edi, dword [ecx*8 + 0x49a2bc]
add esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x1c]
adc edi, dword [esp + 0x8c]
add ecx, esi
adc edx, edi
add dword [esp + 0x3c], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
adc dword [esp + 0x40], edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x28]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x24]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
or ebx, ecx
mov ecx, dword [esp + 0x24]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x28]
mov ebx, ecx
or ebx, dword [esp + 0x2c]
and ecx, dword [esp + 0x2c]
and ebx, dword [esp + 0x34]
mov ebp, edx
or ebp, dword [esp + 0x30]
and edx, dword [esp + 0x30]
and ebp, eax
mov eax, dword [esp + 0x20]
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x1c], edi
adc eax, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x20], eax
je 0x45cca0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x9c]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0x80]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0x84]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0x80]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x84]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x58]
adc edx, dword [esp + 0x5c]
add dword [esp + 0x90], eax
mov eax, dword [esp + 0x20]
adc dword [esp + 0x94], edx
jmp 0x45ccbb
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x3c]
xor esi, ebp
mov ebp, dword [esp + 0x40]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x4c]
shl edx, 0x12
xor esi, ebx
shr ebp, 0xe
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x50]
mov ebx, ecx
xor ebx, dword [esp + 0x44]
mov ebp, edx
xor ebp, dword [esp + 0x48]
and ebx, dword [esp + 0x3c]
and ebp, dword [esp + 0x40]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x18]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2c0]
mov ebx, eax
adc edi, dword [ecx*8 + 0x49a2c4]
add esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x14]
adc edi, dword [esp + 0x94]
add ecx, esi
adc edx, edi
add dword [esp + 0x34], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
adc dword [esp + 0x38], edx
mov dword [esp + 0x18], edx
mov edx, ecx
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x1c]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x28]
xor edi, ecx
mov ecx, dword [esp + 0x24]
xor esi, edx
mov edx, dword [esp + 0x1c]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x2c]
and ecx, edx
mov edx, dword [esp + 0x28]
or ebp, eax
and ebp, dword [esp + 0x30]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x14], edi
adc dword [esp + 0x18], esi
cmp dword [esp + 0x10], 0
je 0x45cec3
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov ebx, ecx
mov edi, eax
shrd edi, ebx, 0x13
xor esi, esi
or esi, edi
mov edx, eax
shr ebx, 0x13
mov edi, ecx
mov ebp, eax
shld ecx, ebp, 3
shl edx, 0xd
or edx, ebx
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shrd eax, ecx, 6
add ebp, ebp
add ebp, ebp
add ebp, ebp
shr edi, 0x1d
or edi, ebp
xor esi, edi
xor esi, eax
mov eax, dword [esp + 0xa0]
xor edx, ebx
shr ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0xa4]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 8
xor edi, edi
or edi, ebx
mov ebx, eax
mov dword [esp + 0x54], esi
mov esi, eax
shrd eax, ecx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr ecx, 1
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0xa0]
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0xa4]
shrd eax, ecx, 7
xor edi, ebp
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebx
shr ecx, 7
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x60]
adc edx, dword [esp + 0x64]
add dword [esp + 0x98], eax
mov eax, dword [esp + 0x20]
adc dword [esp + 0x9c], edx
jmp 0x45cede
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x34]
xor esi, ebp
mov ebp, dword [esp + 0x38]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
xor ebx, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
or ebx, ecx
mov ecx, dword [esp + 0x44]
shr ebp, 0xe
xor esi, ebx
mov ebx, dword [esp + 0x3c]
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x40]
xor edi, edx
mov edx, dword [esp + 0x48]
xor ebx, ecx
and ebx, dword [esp + 0x34]
xor ebp, edx
and ebp, dword [esp + 0x38]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x50]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2c8]
adc edi, dword [ecx*8 + 0x49a2cc]
add esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x4c]
adc edi, dword [esp + 0x9c]
add ecx, esi
adc edx, edi
add dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x14]
adc dword [esp + 0x30], edx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x18]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x18]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x14]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
or ebx, ecx
mov ecx, dword [esp + 0x14]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x1c]
mov ebp, eax
or ebp, dword [esp + 0x18]
and eax, dword [esp + 0x18]
and ebp, dword [esp + 0x28]
mov ebx, edx
or ebx, ecx
and ebx, dword [esp + 0x24]
and edx, ecx
or ebp, eax
mov eax, dword [esp + 0x50]
or ebx, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x4c], edi
adc eax, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x50], eax
je 0x45d0ee
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov ebx, ecx
mov edi, eax
shrd edi, ebx, 0x13
xor esi, esi
or esi, edi
mov edx, eax
shr ebx, 0x13
mov edi, ecx
mov ebp, eax
shld ecx, ebp, 3
shl edx, 0xd
or edx, ebx
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x94]
shrd eax, ecx, 6
add ebp, ebp
add ebp, ebp
add ebp, ebp
shr edi, 0x1d
or edi, ebp
xor esi, edi
xor esi, eax
mov eax, dword [esp + 0xa8]
xor edx, ebx
shr ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0xac]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 8
xor edi, edi
or edi, ebx
mov ebx, eax
mov dword [esp + 0x54], esi
mov esi, eax
shrd eax, ecx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr ecx, 1
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0xa8]
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0xac]
shrd eax, ecx, 7
xor edi, ebp
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebx
shr ecx, 7
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x68]
adc edx, dword [esp + 0x6c]
add dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
adc dword [esp + 0xa4], edx
jmp 0x45d109
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x4c]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x2c]
xor esi, ebp
mov ebp, dword [esp + 0x30]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x3c]
shl edx, 0x12
xor esi, ebx
shr ebp, 0xe
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x40]
mov ebx, ecx
xor ebx, dword [esp + 0x34]
mov ebp, edx
xor ebp, dword [esp + 0x38]
and ebx, dword [esp + 0x2c]
and ebp, dword [esp + 0x30]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x48]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2d0]
mov ebx, eax
adc edi, dword [ecx*8 + 0x49a2d4]
add esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x44]
adc edi, dword [esp + 0xa4]
add ecx, esi
adc edx, edi
add dword [esp + 0x24], ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x28], edx
mov dword [esp + 0x48], edx
mov edx, ecx
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x4c]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x18]
xor edi, ecx
mov ecx, dword [esp + 0x14]
xor esi, edx
mov edx, dword [esp + 0x4c]
or ebp, eax
and ebp, dword [esp + 0x20]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x1c]
and ecx, edx
mov edx, dword [esp + 0x18]
and edx, eax
mov eax, dword [esp + 0x48]
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x44], edi
adc eax, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x48], eax
je 0x45d317
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov ebx, ecx
mov edi, eax
shrd edi, ebx, 0x13
xor esi, esi
or esi, edi
mov edx, eax
shr ebx, 0x13
mov edi, ecx
mov ebp, eax
shld ecx, ebp, 3
shl edx, 0xd
or edx, ebx
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x9c]
shrd eax, ecx, 6
add ebp, ebp
add ebp, ebp
add ebp, ebp
shr edi, 0x1d
or edi, ebp
xor esi, edi
xor esi, eax
mov eax, dword [esp + 0xb0]
xor edx, ebx
shr ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0xb4]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 8
xor edi, edi
or edi, ebx
mov ebx, eax
mov dword [esp + 0x54], esi
mov esi, eax
shrd eax, ecx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr ecx, 1
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0xb0]
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0xb4]
shrd eax, ecx, 7
xor edi, ebp
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebx
shr ecx, 7
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x70]
adc edx, dword [esp + 0x74]
add dword [esp + 0xa8], eax
mov eax, dword [esp + 0x48]
adc dword [esp + 0xac], edx
jmp 0x45d332
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x24]
xor esi, ebp
mov ebp, dword [esp + 0x28]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
xor ebx, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
or ebx, ecx
mov ecx, dword [esp + 0x34]
xor esi, ebx
mov ebx, dword [esp + 0x2c]
shl edx, 0x12
xor ebx, ecx
and ebx, dword [esp + 0x24]
shr ebp, 0xe
or edx, ebp
mov ebp, dword [esp + 0x30]
xor edi, edx
mov edx, dword [esp + 0x38]
xor ebp, edx
and ebp, dword [esp + 0x28]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x40]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2d8]
mov ebx, eax
adc edi, dword [ecx*8 + 0x49a2dc]
add esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x3c]
adc edi, dword [esp + 0xac]
add ecx, esi
adc edx, edi
add dword [esp + 0x1c], ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x44]
adc dword [esp + 0x20], edx
mov dword [esp + 0x40], edx
mov edx, ecx
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x44]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x50]
xor edi, ecx
mov ecx, dword [esp + 0x4c]
xor esi, edx
mov edx, dword [esp + 0x44]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x14]
and ecx, edx
mov edx, dword [esp + 0x50]
or ebp, eax
and ebp, dword [esp + 0x18]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x3c], edi
adc dword [esp + 0x40], esi
cmp dword [esp + 0x10], 0
je 0x45d53a
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0xbc]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0xa0]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0xa4]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0xa0]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0xa4]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x7c]
add dword [esp + 0xb0], eax
mov eax, dword [esp + 0x48]
adc dword [esp + 0xb4], edx
jmp 0x45d555
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x58]
mov ecx, dword [ecx + 0x5c]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x1c]
xor esi, ebp
mov ebp, dword [esp + 0x20]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
xor ebx, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
or ebx, ecx
mov ecx, dword [esp + 0x2c]
shr ebp, 0xe
xor esi, ebx
mov ebx, dword [esp + 0x24]
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x28]
xor edi, edx
mov edx, dword [esp + 0x30]
xor ebx, ecx
and ebx, dword [esp + 0x1c]
xor ebp, edx
and ebp, dword [esp + 0x20]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x38]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2e0]
adc edi, dword [ecx*8 + 0x49a2e4]
add esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x34]
adc edi, dword [esp + 0xb4]
add ecx, esi
adc edx, edi
add dword [esp + 0x14], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x3c]
adc dword [esp + 0x18], edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x40]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x3c]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
mov ebp, dword [esp + 0x40]
or ebx, ecx
mov ecx, dword [esp + 0x3c]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x44]
or ebp, eax
and ebp, dword [esp + 0x50]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x4c]
and ecx, edx
mov edx, dword [esp + 0x40]
and edx, eax
mov eax, dword [esp + 0x38]
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x34], edi
adc eax, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x38], eax
je 0x45d76d
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edi, eax
mov ebx, ecx
shrd edi, ebx, 8
mov ebp, eax
shrd ebp, ecx, 1
xor esi, esi
or esi, edi
mov edi, eax
shr ecx, 1
mov edx, eax
shr ebx, 8
shl edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0xc4]
shrd eax, ecx, 7
shl edx, 0x18
or edx, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
xor esi, eax
mov eax, dword [esp + 0xa8]
xor edx, edi
shr ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0xac]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 0x13
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, ecx
shld ecx, eax, 3
add eax, eax
add eax, eax
shl esi, 0xd
shr ebp, 0x13
or esi, ebp
add eax, eax
shr ebx, 0x1d
or ebx, eax
mov eax, dword [esp + 0xa8]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0xac]
shrd eax, ecx, 6
xor edi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebp
shr ecx, 6
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x80]
adc edx, dword [esp + 0x84]
add dword [esp + 0xb8], eax
mov eax, dword [esp + 0x38]
adc dword [esp + 0xbc], edx
jmp 0x45d788
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x64]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x14]
xor esi, ebp
mov ebp, dword [esp + 0x18]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x24]
shl edx, 0x12
xor esi, ebx
shr ebp, 0xe
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x28]
mov ebx, ecx
xor ebx, dword [esp + 0x1c]
mov ebp, edx
xor ebp, dword [esp + 0x20]
and ebx, dword [esp + 0x14]
and ebp, dword [esp + 0x18]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x30]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2e8]
mov ebx, eax
adc edi, dword [ecx*8 + 0x49a2ec]
add esi, dword [esp + 0xb8]
mov ecx, dword [esp + 0x2c]
adc edi, dword [esp + 0xbc]
add ecx, esi
adc edx, edi
add dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
adc dword [esp + 0x50], edx
mov dword [esp + 0x30], edx
mov edx, ecx
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x34]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x40]
xor edi, ecx
mov ecx, dword [esp + 0x3c]
xor esi, edx
mov edx, dword [esp + 0x34]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x44]
and ecx, edx
mov edx, dword [esp + 0x40]
or ebp, eax
and ebp, dword [esp + 0x48]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x2c], edi
adc dword [esp + 0x30], esi
cmp dword [esp + 0x10], 0
je 0x45d996
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov ebx, ecx
mov edi, eax
shrd edi, ebx, 0x13
xor esi, esi
or esi, edi
mov edx, eax
shr ebx, 0x13
mov edi, ecx
mov ebp, eax
shld ecx, ebp, 3
shl edx, 0xd
or edx, ebx
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0xb4]
shrd eax, ecx, 6
add ebp, ebp
add ebp, ebp
add ebp, ebp
shr edi, 0x1d
or edi, ebp
xor esi, edi
xor esi, eax
mov eax, dword [esp + 0xc8]
xor edx, ebx
shr ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0xcc]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 8
xor edi, edi
or edi, ebx
mov ebx, eax
mov dword [esp + 0x54], esi
mov esi, eax
shrd eax, ecx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr ecx, 1
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0xc8]
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0xcc]
shrd eax, ecx, 7
xor edi, ebp
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebx
shr ecx, 7
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x88]
adc edx, dword [esp + 0x8c]
add dword [esp + 0xc0], eax
mov eax, dword [esp + 0x38]
adc dword [esp + 0xc4], edx
jmp 0x45d9b1
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x6c]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x4c]
xor esi, ebp
mov ebp, dword [esp + 0x50]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
shr ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, 0x12
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x20]
xor esi, ebx
mov ebx, ecx
xor ebx, dword [esp + 0x14]
mov ebp, edx
xor ebp, dword [esp + 0x18]
and ebx, dword [esp + 0x4c]
and ebp, dword [esp + 0x50]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x28]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2f0]
adc edi, dword [ecx*8 + 0x49a2f4]
add esi, dword [esp + 0xc0]
mov ecx, dword [esp + 0x24]
adc edi, dword [esp + 0xc4]
add ecx, esi
adc edx, edi
add dword [esp + 0x44], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
adc dword [esp + 0x48], edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x30]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x30]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x2c]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
shl ebp, 0x19
or edx, ebp
mov ebp, dword [esp + 0x30]
or ebx, ecx
mov ecx, dword [esp + 0x2c]
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x34]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x3c]
and ecx, edx
mov edx, dword [esp + 0x30]
or ebp, eax
and ebp, dword [esp + 0x40]
and edx, eax
or ebx, ecx
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x24], edi
adc dword [esp + 0x28], esi
cmp dword [esp + 0x10], 0
je 0x45dbc3
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov ebx, ecx
mov edi, eax
shrd edi, ebx, 0x13
xor esi, esi
or esi, edi
mov edx, eax
shr ebx, 0x13
mov edi, ecx
mov ebp, eax
shld ecx, ebp, 3
shl edx, 0xd
or edx, ebx
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0xbc]
shrd eax, ecx, 6
add ebp, ebp
add ebp, ebp
add ebp, ebp
shr edi, 0x1d
or edi, ebp
xor esi, edi
xor esi, eax
mov eax, dword [esp + 0xd0]
xor edx, ebx
shr ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0xd4]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 8
xor edi, edi
or edi, ebx
mov ebx, eax
mov dword [esp + 0x54], esi
mov esi, eax
shrd eax, ecx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr ecx, 1
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0xd0]
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0xd4]
shrd eax, ecx, 7
xor edi, ebp
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ebx
shr ecx, 7
xor esi, ecx
add eax, edi
adc edx, esi
add eax, dword [esp + 0x90]
adc edx, dword [esp + 0x94]
add dword [esp + 0xc8], eax
mov eax, dword [esp + 0x38]
adc dword [esp + 0xcc], edx
jmp 0x45dbde
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x70]
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov ebp, edx
mov ebx, ecx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
xor ebp, ebp
mov ebx, ecx
shrd ecx, edx, 0x12
or ebp, ecx
mov ecx, dword [esp + 0x44]
xor esi, ebp
mov ebp, dword [esp + 0x48]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, ecx
shrd ecx, ebp, 0xe
shr ebp, 0xe
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x14]
shl edx, 0x12
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x18]
xor esi, ebx
mov ebx, ecx
xor ebx, dword [esp + 0x4c]
mov ebp, edx
xor ebp, dword [esp + 0x50]
and ebx, dword [esp + 0x44]
and ebp, dword [esp + 0x48]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x20]
add esi, ebx
adc edi, ebp
add esi, dword [ecx*8 + 0x49a2f8]
adc edi, dword [ecx*8 + 0x49a2fc]
add esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0x1c]
adc edi, dword [esp + 0xcc]
add ecx, esi
adc edx, edi
add dword [esp + 0x3c], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
adc dword [esp + 0x40], edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebx, ecx
mov ecx, dword [esp + 0x28]
or ebp, edx
mov edx, ecx
xor esi, ebp
mov ebp, dword [esp + 0x24]
xor edi, ebx
shr edx, 7
xor ebx, ebx
shld ecx, ebp, 0x19
or ebx, ecx
mov ecx, dword [esp + 0x24]
shl ebp, 0x19
or edx, ebp
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x28]
mov ebx, ecx
or ebx, dword [esp + 0x2c]
and ecx, dword [esp + 0x2c]
and ebx, dword [esp + 0x34]
mov ebp, edx
or ebp, dword [esp + 0x30]
and edx, dword [esp + 0x30]
and ebp, eax
or ebx, ecx
mov ecx, dword [esp + 0x20]
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x1c], edi
adc ecx, esi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x20], ecx
je 0x45ddea
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov ebx, ecx
mov edi, eax
shrd edi, ebx, 0x13
xor esi, esi
or esi, edi
mov edi, ecx
shr ebx, 0x13
mov edx, eax
mov ebp, eax
shld ecx, ebp, 3
shl edx, 0xd
or edx, ebx
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0xc4]
shrd eax, ecx, 6
add ebp, ebp
add ebp, ebp
add ebp, ebp
shr edi, 0x1d
or edi, ebp
xor esi, edi
xor esi, eax
mov eax, dword [esp + 0x58]
xor edx, ebx
shr ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, eax
mov ebp, ecx
shrd ebx, ebp, 8
xor edi, edi
or edi, ebx
mov dword [esp + 0x54], esi
mov esi, eax
mov ebx, eax
shrd eax, ecx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr ecx, 1
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0x58]
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x5c]
shrd eax, ecx, 7
xor edi, ebp
shr ecx, 7
xor esi, ebx
xor edi, eax
mov eax, dword [esp + 0x54]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add eax, edi
adc edx, esi
add eax, dword [esp + 0x98]
adc edx, dword [esp + 0x9c]
add dword [esp + 0xd0], eax
adc dword [esp + 0xd4], edx
jmp 0x45de05
mov eax, dword [esp + 0xe0]
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, edx
mov ebx, eax
shld ebp, ebx, 0x17
shl ebx, 0x17
mov esi, edx
shr esi, 9
or esi, ebx
xor edi, edi
or edi, ebp
mov ebx, eax
shrd eax, edx, 0x12
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0x3c]
xor esi, ebp
mov ebp, dword [esp + 0x40]
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor edi, ebx
mov edx, eax
shrd eax, ebp, 0xe
xor ebx, ebx
or ebx, eax
mov eax, dword [esp + 0x4c]
shl edx, 0x12
xor esi, ebx
shr ebp, 0xe
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x50]
mov ebx, eax
xor ebx, dword [esp + 0x44]
mov ebp, edx
xor ebp, dword [esp + 0x48]
and ebx, dword [esp + 0x3c]
and ebp, dword [esp + 0x40]
xor ebx, eax
mov eax, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x18]
add esi, ebx
adc edi, ebp
add esi, dword [eax*8 + 0x49a300]
mov ebx, ecx
adc edi, dword [eax*8 + 0x49a304]
add esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x14]
adc edi, dword [esp + 0xd4]
add eax, esi
adc edx, edi
add dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
adc dword [esp + 0x38], edx
mov dword [esp + 0x18], edx
mov edx, eax
shrd edx, ebx, 0x1c
mov esi, eax
xor edi, edi
or edi, edx
mov ebp, ecx
shld ebp, eax, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl eax, 0x1e
mov edx, ecx
shr edx, 2
xor ebx, ebx
or edx, eax
or ebx, ebp
mov eax, ecx
xor esi, ebx
mov ebx, dword [esp + 0x1c]
xor edi, edx
shr eax, 7
xor edx, edx
mov ebp, ecx
shld ebp, ebx, 0x19
shl ebx, 0x19
or eax, ebx
or edx, ebp
mov ebp, dword [esp + 0x28]
xor edi, eax
mov eax, dword [esp + 0x24]
xor esi, edx
mov edx, dword [esp + 0x1c]
mov ebx, eax
or ebx, edx
and ebx, dword [esp + 0x2c]
and eax, edx
mov edx, dword [esp + 0x28]
or ebp, ecx
and ebp, dword [esp + 0x30]
and edx, ecx
or ebx, eax
mov eax, dword [esp + 0x18]
or ebp, edx
add edi, ebx
adc esi, ebp
add dword [esp + 0x14], edi
mov edi, dword [esp + 0x10]
adc eax, esi
add edi, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
cmp edi, 0x50
jb 0x45bd40
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0x14]
add dword [edx], esi
pop edi
pop esi
adc dword [edx + 4], eax
mov eax, dword [esp + 0x14]
add dword [edx + 8], eax
mov eax, dword [esp + 0x20]
pop ebp
adc dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x18]
add dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x20]
pop ebx
adc dword [edx + 0x14], eax
add dword [edx + 0x18], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
adc dword [edx + 0x1c], eax
add dword [edx + 0x20], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
adc dword [edx + 0x24], eax
add dword [edx + 0x28], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
adc dword [edx + 0x2c], eax
add dword [edx + 0x30], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
adc dword [edx + 0x34], eax
add dword [edx + 0x38], ecx
mov eax, dword [esp + 0x40]
adc dword [edx + 0x3c], eax
add esp, 0xc8
ret