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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x314
mov eax, dword [0x541a34]
xor eax, esp
mov dword [esp + 0x310], eax
push ebx
push esi
push edi
mov dword [esp + 0x54], ecx
lea edi, [edx + 2]
xor ebx, ebx
movzx eax, byte [edi - 2]
lea edi, [edi + 8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [edi - 9]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 8]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 7]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 6]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 5]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 4]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 3]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
mov dword [esp + ebx*8 + 0x9c], esi
mov dword [esp + ebx*8 + 0x98], ecx
inc ebx
cmp ebx, 0x10
jl 0x411296
mov dword [esp + 0xc], ebx
cmp ebx, 0x50
mov ebx, dword [esp + 0x54]
jge 0x411425
mov ecx, dword [esp + 0xc]
mov edx, 0x50
sub edx, ecx
mov dword [esp + 0x10], edx
lea eax, [esp + ecx*8 + 0x88]
mov ebx, dword [eax + 4]
xor esi, esi
mov ecx, dword [eax]
mov edx, ebx
mov edi, ecx
shrd ecx, edx, 0x13
shl edi, 0xd
or esi, ecx
shr edx, 0x13
mov ecx, dword [eax]
or edi, edx
mov edx, ebx
mov dword [esp + 0x14], edi
shld edx, ecx, 3
mov edi, ebx
mov dword [esp + 0xc], esi
shl ecx, 3
xor esi, esi
or esi, edx
shr edi, 0x1d
mov edx, dword [esp + 0xc]
or edi, ecx
mov ecx, dword [eax]
xor edx, edi
mov edi, dword [esp + 0x14]
shrd ecx, ebx, 6
xor edi, esi
xor edx, ecx
shr ebx, 6
xor edi, ebx
mov dword [esp + 0xc], edx
mov edx, dword [eax - 0x64]
xor ebx, ebx
mov dword [esp + 0x14], edi
mov edi, dword [eax - 0x68]
mov ecx, edi
shrd ecx, edx, 8
mov esi, edi
shl edi, 0x1f
or ebx, ecx
shr edx, 8
mov ecx, dword [eax - 0x68]
shl esi, 0x18
or esi, edx
mov edx, dword [eax - 0x64]
shrd ecx, edx, 1
mov dword [esp + 0x18], esi
xor esi, esi
or esi, ecx
shr edx, 1
mov ecx, dword [esp + 0x18]
xor ebx, esi
mov esi, dword [eax - 0x68]
or edi, edx
mov edx, dword [eax - 0x64]
xor ecx, edi
shrd esi, edx, 7
shr edx, 7
xor ebx, esi
xor ecx, edx
mov edx, dword [esp + 0xc]
add edx, ebx
mov ebx, dword [esp + 0x14]
adc ebx, ecx
add edx, dword [eax - 0x70]
adc ebx, dword [eax - 0x6c]
add edx, dword [eax - 0x28]
mov dword [eax + 0x10], edx
adc ebx, dword [eax - 0x24]
lea eax, [eax + 8]
sub dword [esp + 0x10], 1
mov dword [eax + 0xc], ebx
jne 0x411351
mov ebx, dword [esp + 0x54]
mov eax, dword [ebx + 0x10]
lea edi, [esp + 0x98]
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x30]
mov esi, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 0x34]
mov edx, ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], 0x521580
jmp 0x411508
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov eax, esi
mov ecx, edx
shld ecx, eax, 0x17
mov ebx, edx
shl esi, 0xe
shl eax, 0x17
xor edi, edi
or edi, ecx
shr ebx, 9
mov ecx, dword [esp + 0x48]
or ebx, eax
mov eax, dword [esp + 0x44]
xor edx, edx
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x10]
or esi, ecx
xor eax, dword [esp + 0x50]
xor edi, esi
and eax, dword [esp + 0x48]
xor ebx, edx
xor eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x18]
add ebx, ecx
mov ecx, dword [esp + 0x20]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0xc]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x1c]
mov edx, eax
adc dword [esp + 0x40], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x1c]
or edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0xc], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x20]
xor dword [esp + 0xc], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x1c]
xor dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or esi, eax
or edx, ecx
xor dword [esp + 0x14], esi
xor dword [esp + 0xc], edx
mov ecx, dword [esp + 0x2c]
mov esi, ecx
and ecx, dword [esp + 0x1c]
or esi, dword [esp + 0x1c]
and esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov edx, eax
and eax, dword [esp + 0x20]
or edx, dword [esp + 0x20]
and edx, dword [esp + 0x38]
or edx, eax
mov eax, dword [esp + 0xc]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x14], ecx
adc eax, edi
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov ebx, ecx
mov eax, dword [esp + 0x3c]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x24], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x40]
add dword [esp + 0x28], 8
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x3c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x3c]
or esi, ecx
mov ecx, dword [esp + 0x40]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x50]
or esi, ecx
xor eax, dword [esp + 0x48]
xor edi, esi
and eax, dword [esp + 0x40]
xor ebx, edx
xor eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x4c]
add ebx, ecx
mov ecx, dword [esp + 0xc]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x10]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x34], ebx
mov eax, dword [esp + 0x14]
mov edx, eax
adc dword [esp + 0x38], edi
xor esi, esi
shl edx, 4
shrd eax, ecx, 0x1c
or esi, eax
shr ecx, 0x1c
or edx, ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x10], edx
xor dword [esp + 0x18], esi
xor edx, edx
mov eax, dword [esp + 0x14]
or edx, ecx
xor dword [esp + 0x10], edx
xor edx, edx
mov ecx, dword [esp + 0xc]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x10], edx
or esi, eax
xor dword [esp + 0x18], esi
mov ecx, dword [esp + 0x14]
mov esi, ecx
and ecx, dword [esp + 0x1c]
or esi, dword [esp + 0x1c]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
or esi, ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
and eax, dword [esp + 0x20]
or edx, dword [esp + 0x20]
and edx, dword [esp + 0x30]
or edx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x38]
adc eax, edi
mov dword [esp + 0x10], eax
mov ebx, ecx
mov eax, dword [esp + 0x34]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x24], 8
xor edx, edx
add dword [esp + 0x28], 8
or edi, ecx
mov ecx, dword [esp + 0x38]
shl eax, 0x17
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x34]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x34]
or esi, ecx
mov ecx, dword [esp + 0x38]
xor edi, esi
xor ebx, edx
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor ebx, edx
mov ecx, dword [esp + 0x44]
xor edi, esi
xor ecx, dword [esp + 0x3c]
and ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x40]
and eax, dword [esp + 0x38]
xor eax, dword [esp + 0x48]
add ebx, ecx
mov ecx, dword [esp + 0x10]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x50]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x18]
mov edx, eax
adc dword [esp + 0x30], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x18]
or edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x50], edx
xor dword [esp + 0x4c], esi
xor edx, edx
mov eax, dword [esp + 0x18]
or edx, ecx
xor dword [esp + 0x50], edx
xor edx, edx
mov ecx, dword [esp + 0x10]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x50], edx
or esi, eax
xor dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x14]
mov esi, ecx
or esi, dword [esp + 0x18]
and ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov edx, eax
and eax, dword [esp + 0x10]
or edx, dword [esp + 0x10]
and esi, dword [esp + 0x1c]
and edx, dword [esp + 0x20]
or esi, ecx
mov ecx, dword [esp + 0x4c]
or edx, eax
mov eax, dword [esp + 0x50]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x30]
adc eax, edi
add dword [esp + 0x24], 8
mov ebx, ecx
add dword [esp + 0x28], 8
xor edi, edi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2c]
shld ecx, eax, 0x17
shr ebx, 9
shl eax, 0x17
or edi, ecx
or ebx, eax
mov eax, dword [esp + 0x2c]
xor edx, edx
mov ecx, dword [esp + 0x30]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x40]
or esi, ecx
xor eax, dword [esp + 0x38]
xor edi, esi
and eax, dword [esp + 0x30]
xor ebx, edx
xor eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x34]
and ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x3c]
add ebx, ecx
mov ecx, dword [esp + 0x50]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x48]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x4c]
mov edx, eax
adc dword [esp + 0x20], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x4c]
or edx, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x44], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x48], edx
xor dword [esp + 0x44], esi
xor edx, edx
mov eax, dword [esp + 0x4c]
or edx, ecx
mov ecx, dword [esp + 0x50]
mov esi, ecx
xor dword [esp + 0x48], edx
xor edx, edx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x18]
or esi, eax
xor dword [esp + 0x44], esi
mov esi, ecx
xor dword [esp + 0x48], edx
or esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
and ecx, dword [esp + 0x4c]
mov edx, eax
and eax, dword [esp + 0x50]
and esi, dword [esp + 0x14]
or edx, dword [esp + 0x50]
or esi, ecx
and edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
or edx, eax
mov eax, dword [esp + 0x48]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x44], ecx
adc eax, edi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov ebx, ecx
mov eax, dword [esp + 0x1c]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x24], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x20]
add dword [esp + 0x28], 8
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x1c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x1c]
or esi, ecx
mov ecx, dword [esp + 0x20]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
mov eax, dword [esp + 0x38]
or esi, ecx
xor eax, dword [esp + 0x30]
xor edi, esi
and eax, dword [esp + 0x20]
xor ebx, edx
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x34]
add ebx, ecx
mov ecx, dword [esp + 0x48]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x40]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x14], ebx
mov eax, dword [esp + 0x44]
mov edx, eax
adc dword [esp + 0xc], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
shr ecx, 0x1c
or esi, eax
or edx, ecx
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x44]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x40], edx
or esi, eax
xor dword [esp + 0x3c], esi
xor edx, edx
mov ecx, dword [esp + 0x48]
mov esi, ecx
mov eax, dword [esp + 0x44]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x40], edx
or esi, eax
xor dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x4c]
mov esi, ecx
and ecx, dword [esp + 0x44]
or esi, dword [esp + 0x44]
and esi, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
or esi, ecx
mov ecx, dword [esp + 0x3c]
mov edx, eax
and eax, dword [esp + 0x48]
or edx, dword [esp + 0x48]
and edx, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 0x40]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x3c], ecx
adc eax, edi
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ebx, ecx
mov eax, dword [esp + 0x14]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x24], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0xc]
add dword [esp + 0x28], 8
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x14]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x14]
or esi, ecx
mov ecx, dword [esp + 0xc]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x2c]
xor ebx, edx
xor ecx, dword [esp + 0x1c]
xor edi, esi
xor eax, dword [esp + 0x20]
and ecx, dword [esp + 0x14]
and eax, dword [esp + 0xc]
xor ecx, dword [esp + 0x2c]
xor eax, dword [esp + 0x30]
add ebx, ecx
mov ecx, dword [esp + 0x40]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x38]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x18], ebx
mov eax, dword [esp + 0x3c]
mov edx, eax
adc dword [esp + 0x10], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x3c]
or edx, ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x38], edx
xor dword [esp + 0x34], esi
xor edx, edx
mov eax, dword [esp + 0x3c]
or edx, ecx
xor dword [esp + 0x38], edx
xor edx, edx
mov ecx, dword [esp + 0x40]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x38], edx
or esi, eax
xor dword [esp + 0x34], esi
mov ecx, dword [esp + 0x44]
mov esi, ecx
or esi, dword [esp + 0x3c]
and ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov edx, eax
and eax, dword [esp + 0x40]
or edx, dword [esp + 0x40]
and esi, dword [esp + 0x4c]
and edx, dword [esp + 0x50]
or esi, ecx
mov ecx, dword [esp + 0x34]
or edx, eax
mov eax, dword [esp + 0x38]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
adc eax, edi
add dword [esp + 0x24], 8
mov ebx, ecx
add dword [esp + 0x28], 8
xor edi, edi
mov dword [esp + 0x38], eax
xor edx, edx
mov eax, dword [esp + 0x18]
shld ecx, eax, 0x17
shr ebx, 9
shl eax, 0x17
or edi, ecx
or ebx, eax
mov eax, dword [esp + 0x18]
mov esi, eax
shl esi, 0xe
mov ecx, dword [esp + 0x10]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x20]
xor edi, esi
and eax, dword [esp + 0x10]
xor ebx, edx
xor eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, dword [esp + 0x38]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x30]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x34]
mov edx, eax
adc dword [esp + 0x50], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x34]
or edx, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x30], edx
xor edx, edx
shr esi, 2
or edx, ecx
xor dword [esp + 0x30], edx
xor edx, edx
mov ecx, dword [esp + 0x38]
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x34]
xor dword [esp + 0x2c], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x30], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x3c]
mov esi, ecx
mov eax, dword [esp + 0x40]
mov edx, eax
or esi, dword [esp + 0x34]
or edx, dword [esp + 0x38]
and esi, dword [esp + 0x44]
and edx, dword [esp + 0x48]
and ecx, dword [esp + 0x34]
and eax, dword [esp + 0x38]
or esi, ecx
or edx, eax
mov ecx, dword [esp + 0x2c]
add ecx, esi
mov eax, dword [esp + 0x30]
adc eax, edx
add ecx, ebx
mov dword [esp + 0x2c], ecx
adc eax, edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov ebx, ecx
mov eax, dword [esp + 0x4c]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x24], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x50]
add dword [esp + 0x28], 8
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x4c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x50]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0xc]
or esi, ecx
xor eax, dword [esp + 0x10]
xor edi, esi
and eax, dword [esp + 0x50]
xor ebx, edx
xor eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x18]
and ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x14]
add ebx, ecx
mov ecx, dword [esp + 0x30]
adc edi, eax
mov eax, dword [esp + 0x24]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
adc edi, dword [esp + 0x20]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add dword [esp + 0x44], ebx
mov eax, dword [esp + 0x2c]
mov edx, eax
adc dword [esp + 0x48], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or edx, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x20], edx
xor edx, edx
shr esi, 2
shl eax, 0x1e
or esi, eax
or edx, ecx
xor dword [esp + 0x1c], esi
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x30]
mov esi, ecx
mov eax, dword [esp + 0x2c]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x34]
mov esi, ecx
or esi, dword [esp + 0x2c]
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, eax
or edx, dword [esp + 0x30]
and eax, dword [esp + 0x30]
and esi, dword [esp + 0x3c]
and edx, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x1c]
or edx, eax
mov eax, dword [esp + 0x20]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
adc eax, edi
add dword [esp + 0x28], 8
add ecx, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
cmp ecx, 0x521800
jl 0x411500
mov ecx, dword [esp + 0x58]
add ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
adc edx, eax
mov eax, dword [esp + 0x54]
pop edi
pop esi
pop ebx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x54]
add ecx, dword [esp + 0x20]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x58]
adc edx, dword [esp + 0x24]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x28]
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x60]
adc edx, dword [esp + 0x2c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x64]
add ecx, dword [esp + 0x30]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x68]
adc edx, dword [esp + 0x34]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x38]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x70]
adc edx, dword [esp + 0x3c]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x74]
add ecx, dword [esp + 0x40]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x78]
adc edx, dword [esp + 0x44]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x7c]
add ecx, dword [esp + 0xc]
mov dword [eax + 0x3c], edx
mov edx, dword [esp + 0x80]
adc edx, dword [esp + 4]
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x84]
add ecx, dword [esp + 8]
mov dword [eax + 0x44], edx
mov edx, dword [esp + 0x88]
adc edx, dword [esp]
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x310]
xor ecx, esp
mov dword [eax + 0x4c], edx
call fcn.004d1fac
mov esp, ebp
pop ebp
ret