Function at 0x10007ab0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x310
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x58], ebp
lea edi, [edx + 2]
xor ebx, ebx
movzx eax, byte [edi - 2]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [edi - 1]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi]
shld esi, ecx, 8
cdq
lea edi, [edi + 8]
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 + 0xa4], esi
mov dword [esp + ebx*8 + 0xa0], ecx
inc ebx
cmp ebx, 0x10
jl 0x10007acb
push 0x50
pop eax
cmp ebx, eax
jge 0x10007c47
lea edx, [esp + ebx*8 + 0x90]
sub eax, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov edi, dword [edx + 4]
xor ebp, ebp
mov ebx, dword [edx]
mov ecx, edi
mov eax, ebx
mov edx, ebx
shrd eax, ecx, 0x13
shl edx, 0xd
mov esi, edi
or ebp, eax
shr ecx, 0x13
or edx, ecx
shr esi, 0x1d
mov eax, ebx
mov dword [esp + 0x1c], edx
mov ecx, edi
xor edx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x1c]
xor ebp, esi
xor eax, edx
shr edi, 6
xor eax, edi
xor ebp, ebx
mov edx, dword [ecx - 0x68]
xor edi, edi
mov ecx, dword [ecx - 0x64]
mov ebx, edx
mov dword [esp + 0x1c], eax
mov esi, edx
mov eax, edx
shl ebx, 0x18
shrd eax, ecx, 8
xor edx, edx
shl esi, 0x1f
shr ecx, 8
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0x68]
mov ecx, dword [ecx - 0x64]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
xor edi, edx
or esi, ecx
mov edx, dword [esp + 0x14]
xor ebx, esi
mov eax, dword [edx - 0x64]
mov ecx, dword [edx - 0x68]
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x1c]
add ebp, edi
adc eax, ebx
add ebp, dword [edx - 0x70]
adc eax, dword [edx - 0x6c]
add ebp, dword [edx - 0x28]
mov dword [edx + 0x10], ebp
adc eax, dword [edx - 0x24]
mov dword [edx + 0x14], eax
add edx, 8
dec dword [esp + 0x18]
mov dword [esp + 0x14], edx
jne 0x10007b7a
mov ebp, dword [esp + 0x58]
mov eax, dword [ebp + 0x10]
lea edi, [esp + 0xa0]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x74], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x30]
mov esi, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 0x34]
mov edx, ecx
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0x3c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x4c]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x44], 0x51a440
jmp 0x10007d37
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
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 + 0x24]
or ebx, eax
mov eax, dword [esp + 0x48]
xor edx, edx
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
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 + 0x18]
or esi, ecx
xor eax, dword [esp + 0x34]
xor edi, esi
and eax, dword [esp + 0x24]
xor ebx, edx
xor eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x3c]
add ebx, ecx
mov ecx, ebp
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov edx, eax
adc edi, dword [esp + 0x14]
add dword [esp + 0x50], ebx
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 + 0x38]
or edx, ecx
mov dword [esp + 0x1c], esi
mov ecx, ebp
shld ecx, eax, 0x1e
mov dword [esp + 0x14], edx
mov esi, ebp
shr esi, 2
xor edx, edx
shl eax, 0x1e
or edx, ecx
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x1c], esi
mov ecx, ebp
mov eax, dword [esp + 0x38]
mov esi, ebp
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
xor dword [esp + 0x1c], esi
xor dword [esp + 0x14], edx
mov ecx, dword [esp + 0x54]
mov esi, ecx
and ecx, dword [esp + 0x38]
or esi, dword [esp + 0x38]
and esi, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov edx, eax
and eax, ebp
or edx, ebp
and edx, dword [esp + 0x30]
or edx, eax
mov eax, dword [esp + 0x14]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x1c], ecx
adc eax, edi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov ebx, ecx
mov eax, dword [esp + 0x50]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x44], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x20]
add dword [esp + 0x4c], 8
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x50]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
mov ecx, dword [esp + 0x20]
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 + 0x34]
or esi, ecx
xor eax, dword [esp + 0x24]
xor edi, esi
and eax, dword [esp + 0x20]
xor ebx, edx
xor eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x2c]
add ebx, ecx
mov ecx, dword [esp + 0x14]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov edx, eax
adc edi, dword [esp + 0x18]
add dword [esp + 0x40], ebx
adc dword [esp + 0x30], edi
xor esi, esi
shl edx, 4
shrd eax, ecx, 0x1c
or esi, eax
shr ecx, 0x1c
or edx, ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x18], edx
xor dword [esp + 0x3c], esi
xor edx, edx
mov eax, dword [esp + 0x1c]
or edx, ecx
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x1c]
mov esi, ecx
and ecx, dword [esp + 0x38]
or esi, dword [esp + 0x38]
and esi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
or esi, ecx
mov ecx, dword [esp + 0x3c]
mov edx, eax
and eax, ebp
or edx, ebp
and edx, dword [esp + 0x28]
or edx, eax
mov eax, dword [esp + 0x18]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x30]
adc eax, edi
mov dword [esp + 0x18], eax
mov ebx, ecx
mov eax, dword [esp + 0x40]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x44], 8
xor edx, edx
add dword [esp + 0x4c], 8
or edi, ecx
mov ecx, dword [esp + 0x30]
shl eax, 0x17
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x40]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x30]
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 + 0x48]
xor edi, esi
xor ecx, dword [esp + 0x50]
and ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x30]
xor eax, dword [esp + 0x24]
add ebx, ecx
mov ecx, dword [esp + 0x18]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov edx, eax
adc edi, dword [esp + 0x34]
add dword [esp + 0x54], ebx
adc dword [esp + 0x28], 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 + 0x18]
mov dword [esp + 0x2c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x34], edx
xor dword [esp + 0x2c], esi
xor edx, edx
mov eax, dword [esp + 0x3c]
or edx, ecx
xor dword [esp + 0x34], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x34], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x1c]
mov esi, ecx
or esi, dword [esp + 0x3c]
and ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov edx, eax
and eax, dword [esp + 0x18]
or edx, dword [esp + 0x18]
and esi, dword [esp + 0x38]
and edx, ebp
or esi, ecx
or edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x28]
adc eax, edi
add dword [esp + 0x44], 8
mov ebx, ecx
add dword [esp + 0x4c], 8
xor edi, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x54]
shld ecx, eax, 0x17
shr ebx, 9
shl eax, 0x17
or edi, ecx
or ebx, eax
mov eax, dword [esp + 0x54]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
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 + 0x20]
or esi, ecx
xor eax, dword [esp + 0x30]
xor edi, esi
and eax, dword [esp + 0x28]
xor ebx, edx
xor eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x50]
add ebx, ecx
mov ecx, dword [esp + 0x34]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov edx, eax
adc edi, dword [esp + 0x24]
add dword [esp + 0x38], ebx
adc ebp, 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 + 0x34]
mov dword [esp + 0x48], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x24], edx
xor dword [esp + 0x48], esi
xor edx, edx
mov eax, dword [esp + 0x2c]
or edx, ecx
mov ecx, dword [esp + 0x34]
mov esi, ecx
xor dword [esp + 0x24], edx
xor edx, edx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x3c]
or esi, eax
xor dword [esp + 0x48], esi
mov esi, ecx
xor dword [esp + 0x24], edx
or esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
and ecx, dword [esp + 0x2c]
mov edx, eax
and eax, dword [esp + 0x34]
and esi, dword [esp + 0x1c]
or edx, dword [esp + 0x34]
or esi, ecx
and edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
or edx, eax
mov eax, dword [esp + 0x24]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x48], ecx
mov ebx, ebp
adc eax, edi
mov ecx, ebp
mov dword [esp + 0x24], eax
xor edi, edi
mov eax, dword [esp + 0x38]
xor edx, edx
shld ecx, eax, 0x17
add dword [esp + 0x44], 8
or edi, ecx
shl eax, 0x17
add dword [esp + 0x4c], 8
mov ecx, ebp
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x38]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x38]
or esi, ecx
xor edi, esi
xor ebx, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
shr ecx, 0xe
or edx, eax
mov eax, dword [esp + 0x30]
or esi, ecx
xor eax, dword [esp + 0x28]
xor edi, esi
mov ecx, dword [esp + 0x40]
and eax, ebp
xor ecx, dword [esp + 0x54]
xor ebx, edx
and ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x40]
xor eax, dword [esp + 0x30]
add ebx, ecx
mov ecx, dword [esp + 0x24]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
mov edx, eax
adc edi, dword [esp + 0x20]
add dword [esp + 0x1c], ebx
adc dword [esp + 0x14], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
shr ecx, 0x1c
or esi, eax
or edx, ecx
mov dword [esp + 0x50], esi
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x48]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x50], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov esi, ecx
mov eax, dword [esp + 0x48]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x50], esi
mov ecx, dword [esp + 0x2c]
mov esi, ecx
and ecx, dword [esp + 0x48]
or esi, dword [esp + 0x48]
and esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
or esi, ecx
mov ecx, dword [esp + 0x50]
mov edx, eax
and eax, dword [esp + 0x24]
or edx, dword [esp + 0x24]
and edx, dword [esp + 0x18]
or edx, eax
mov eax, dword [esp + 0x20]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x50], ecx
adc eax, edi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov ebx, ecx
mov eax, dword [esp + 0x1c]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x44], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x14]
add dword [esp + 0x4c], 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 + 0x14]
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 + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x54]
xor eax, ebp
xor ecx, dword [esp + 0x38]
xor ebx, edx
and ecx, dword [esp + 0x1c]
xor edi, esi
and eax, dword [esp + 0x14]
xor ecx, dword [esp + 0x54]
xor eax, dword [esp + 0x28]
add ebx, ecx
mov ecx, dword [esp + 0x20]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
mov edx, eax
adc edi, dword [esp + 0x30]
add dword [esp + 0x3c], ebx
adc dword [esp + 0x18], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x50]
or edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x30], edx
xor dword [esp + 0x40], esi
xor edx, edx
mov eax, dword [esp + 0x50]
or edx, ecx
xor dword [esp + 0x30], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x30], edx
or esi, eax
xor dword [esp + 0x40], esi
mov ecx, dword [esp + 0x48]
mov esi, ecx
or esi, dword [esp + 0x50]
and ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
mov edx, eax
and eax, dword [esp + 0x20]
or edx, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
and edx, dword [esp + 0x34]
or esi, ecx
mov ecx, dword [esp + 0x40]
or edx, eax
mov eax, dword [esp + 0x30]
add ecx, esi
adc eax, edx
add ecx, ebx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x18]
adc eax, edi
add dword [esp + 0x44], 8
mov ebx, ecx
add dword [esp + 0x4c], 8
xor edi, edi
mov dword [esp + 0x30], eax
xor edx, edx
mov eax, dword [esp + 0x3c]
shld ecx, eax, 0x17
shr ebx, 9
shl eax, 0x17
or edi, ecx
or ebx, eax
mov eax, dword [esp + 0x3c]
mov esi, eax
shl esi, 0xe
mov ecx, dword [esp + 0x18]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
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 + 0x14]
mov ecx, dword [esp + 0x1c]
xor eax, ebp
xor ecx, dword [esp + 0x38]
xor edi, esi
and eax, dword [esp + 0x18]
xor ebx, edx
and ecx, dword [esp + 0x3c]
xor eax, ebp
xor ecx, dword [esp + 0x38]
add ebx, ecx
mov ecx, dword [esp + 0x30]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x40]
mov edx, eax
adc edi, dword [esp + 0x28]
add dword [esp + 0x2c], ebx
adc dword [esp + 0x34], edi
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x40]
or edx, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x28], edx
xor edx, edx
shr esi, 2
or edx, ecx
xor dword [esp + 0x28], edx
xor edx, edx
mov ecx, dword [esp + 0x30]
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x40]
xor dword [esp + 0x54], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x28], edx
or esi, eax
xor dword [esp + 0x54], esi
mov ecx, dword [esp + 0x50]
mov esi, ecx
mov eax, dword [esp + 0x20]
mov edx, eax
or esi, dword [esp + 0x40]
or edx, dword [esp + 0x30]
and esi, dword [esp + 0x48]
and edx, dword [esp + 0x24]
and ecx, dword [esp + 0x40]
and eax, dword [esp + 0x30]
or esi, ecx
or edx, eax
mov ecx, dword [esp + 0x54]
add ecx, esi
mov eax, dword [esp + 0x28]
adc eax, edx
add ecx, ebx
mov dword [esp + 0x54], ecx
adc eax, edi
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov ebx, ecx
mov eax, dword [esp + 0x2c]
xor edi, edi
shld ecx, eax, 0x17
add dword [esp + 0x44], 8
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
add dword [esp + 0x4c], 8
shr ebx, 9
or ebx, eax
mov eax, dword [esp + 0x2c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x34]
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 + 0x14]
or esi, ecx
xor eax, dword [esp + 0x18]
xor edi, esi
and eax, dword [esp + 0x34]
xor ebx, edx
xor eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x3c]
and ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, dword [esp + 0x28]
adc edi, eax
mov eax, dword [esp + 0x4c]
add ebx, dword [eax]
adc edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
add ebx, dword [eax]
adc edi, dword [eax + 4]
add ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
adc edi, ebp
add dword [esp + 0x48], ebx
mov ebp, eax
adc dword [esp + 0x24], edi
xor edx, edx
shrd eax, ecx, 0x1c
shl ebp, 4
shr ecx, 0x1c
or edx, eax
mov eax, dword [esp + 0x54]
or ebp, ecx
mov ecx, dword [esp + 0x28]
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x38], edx
xor edx, edx
shr esi, 2
shl eax, 0x1e
or esi, eax
xor dword [esp + 0x38], esi
or edx, ecx
mov ecx, dword [esp + 0x28]
xor ebp, edx
mov eax, dword [esp + 0x54]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x40]
or esi, eax
xor dword [esp + 0x38], esi
xor ebp, edx
mov eax, dword [esp + 0x30]
mov esi, ecx
or esi, dword [esp + 0x54]
mov edx, eax
or edx, dword [esp + 0x28]
and ecx, dword [esp + 0x54]
and esi, dword [esp + 0x50]
and eax, dword [esp + 0x28]
or esi, ecx
and edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
or edx, eax
mov eax, dword [esp + 0x44]
add ecx, esi
adc ebp, edx
add ecx, ebx
mov dword [esp + 0x38], ecx
adc ebp, edi
add dword [esp + 0x4c], 8
add eax, 8
mov dword [esp + 0x44], eax
cmp eax, 0x51a6c0
jl 0x10007d2f
mov eax, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x84]
pop edi
adc ecx, ebp
mov ebp, dword [esp + 0x54]
pop esi
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x4c]
mov dword [ebp + 0x14], ecx
mov ecx, dword [esp + 0x8c]
adc ecx, dword [esp + 0x20]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x6c]
add eax, dword [esp + 0x38]
mov dword [ebp + 0x1c], ecx
mov ecx, dword [esp + 0x84]
adc ecx, dword [esp + 0x28]
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x48]
mov dword [ebp + 0x24], ecx
mov ecx, dword [esp + 0x54]
adc ecx, dword [esp + 0x18]
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x40]
mov dword [ebp + 0x2c], ecx
mov ecx, dword [esp + 0x60]
adc ecx, dword [esp + 0x1c]
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x24]
mov dword [ebp + 0x34], ecx
mov ecx, dword [esp + 0x70]
adc ecx, dword [esp + 0x2c]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x34]
mov dword [ebp + 0x3c], ecx
mov ecx, dword [esp + 0x80]
adc ecx, dword [esp + 0x10]
mov dword [ebp + 0x40], eax
mov eax, dword [esp + 0x88]
add eax, dword [esp + 0x14]
mov dword [ebp + 0x44], ecx
mov ecx, dword [esp + 0x90]
adc ecx, dword [esp + 0xc]
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], ecx
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret