Function at 0x44d500
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [0x5691b0]
mov ecx, dword [0x5698e8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 0xc]
jg 0x44e088
mov ecx, dword [0x5691ac]
mov edx, dword [0x5691a8]
mov eax, edi
sub eax, ebx
cmp eax, 0x40
ja 0x44d55d
push ecx
push edx
push eax
push ebx
call fcn.004240f0
add esp, 0x10
jmp 0x44e07c
mov esi, 0xeb382d69
mov ebp, edx
xor ebp, 0xbe98f273
mov dword [esp + 0x50], eax
mov eax, ebp
mov dword [esp + 8], edx
mul esi
mov ebx, 0xeb382d69
imul esi, ebp, 0x9ddfea08
add esi, edx
mov dword [esp + 0xc], ecx
xor ecx, 0xb492b66f
imul edi, ecx, 0xeb382d69
add edi, esi
mov esi, edi
shr esi, 0xf
xor esi, eax
xor esi, 0xbe98f273
mov eax, esi
mul ebx
imul ebx, esi, 0x9ddfea08
add ebx, edx
xor edi, 0xb492b66f
imul esi, edi, 0xeb382d69
add esi, ebx
imul edx, esi, 0xeb382d69
mov dword [esp], edx
shr esi, 0xf
xor esi, eax
mov eax, esi
mov edx, 0xeb382d69
mul edx
mov dword [esp + 0x20], eax
imul eax, esi, 0x9ddfea08
mov esi, ecx
shld esi, ebp, 0xf
mov dword [esp + 0x24], esi
add eax, edx
mov dword [esp + 4], eax
shld ebp, ecx, 0xf
mov dword [esp + 0x2c], ebp
mov edx, 0xbe98f273
mov ecx, dword [esp + 8]
mov eax, ecx
mul edx
mov ebp, eax
mov ebx, edx
imul eax, ecx, 0xb492b66f
mov dword [esp + 0x10], eax
add ebx, eax
mov esi, dword [esp + 0xc]
mov edi, esi
shr edi, 0xf
xor edi, ecx
xor ebp, edi
mov dword [esp + 0x34], edi
mov eax, ebp
mov ecx, 0xeb382d69
mul ecx
mov ecx, eax
imul eax, esi, 0xbe98f273
add eax, ebx
imul ebx, ebp, 0x9ddfea08
add ebx, edx
xor eax, esi
imul ebp, eax, 0xeb382d69
add ebp, ebx
mov eax, ebp
shr eax, 0xf
xor ecx, edi
xor ecx, eax
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov edi, dword [esp]
add dword [esp + 4], edi
imul ebx, ecx, 0x9ddfea08
add ebx, edx
mov edi, esi
xor ebp, esi
imul ecx, ebp, 0xeb382d69
add ecx, ebx
imul ebp, ecx, 0xeb382d69
shr ecx, 0xf
xor ecx, eax
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov dword [esp + 0x18], eax
imul eax, ecx, 0x9ddfea08
add eax, edx
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x50]
and eax, 0xffffffc0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 8]
add eax, esi
mov ecx, dword [esp + 0x24]
adc ecx, edi
mov ebx, edi
mov edi, dword [esp + 0x7c]
mov edx, dword [edi + 8]
mov dword [esp + 0x14], edx
add eax, edx
mov edx, dword [edi + 0xc]
mov dword [esp + 0x28], edx
adc ecx, edx
mov ebp, ecx
shld ebp, eax, 0x1b
shrd ecx, eax, 5
mov eax, ecx
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0x3c], eax
imul eax, ecx, 0xb492b66f
add eax, edx
imul edi, ebp, 0xbe98f273
add edi, eax
mov eax, 0xbe98f273
lea ebp, [eax + 1]
mov eax, esi
mul ebp
mov ecx, edx
imul ebx, ebp
add ecx, dword [esp + 0x10]
add ecx, ebx
mov esi, dword [esp + 0x7c]
mov edx, dword [esi + 0x30]
mov dword [esp + 0x30], edx
add eax, edx
mov edx, dword [esi + 0x34]
mov dword [esp + 0x38], edx
adc ecx, edx
mov ebp, ecx
shld ebp, eax, 0x16
shrd ecx, eax, 0xa
mov eax, ecx
mov edx, 0xbe98f273
mul edx
imul ecx, ecx, 0xb492b66f
add ecx, edx
imul edx, ebp, 0xbe98f273
mov ebx, dword [esp + 0x24]
add edx, ecx
xor edi, dword [esp]
mov dword [esp + 0x4c], edi
mov ebp, dword [esp + 0x3c]
xor ebp, dword [esp + 0x18]
mov edi, dword [esi + 0x28]
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x2c]
add ecx, edi
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x10], edi
adc ebx, edi
add ecx, eax
mov dword [esp + 0x2c], ecx
adc ebx, edx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
add ecx, esi
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
adc eax, ebx
mov edi, eax
shld edi, ecx, 0x1f
shrd eax, ecx, 1
mov ecx, eax
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0x40], eax
imul eax, ecx, 0xb492b66f
add eax, edx
imul ecx, edi, 0xbe98f273
add ecx, eax
mov dword [esp + 0x44], ecx
mov edx, 0x822d9fa9
mov ecx, dword [esp + 8]
mov eax, ecx
mul edx
imul ecx, ecx, 0x927126fd
add ecx, edx
mov edi, ebx
imul ebx, ebx, 0x822d9fa9
add ebx, ecx
mov ecx, ebp
mov dword [esp + 0x3c], ebp
mov edx, esi
add edx, ebp
adc edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x7c]
add eax, dword [ecx]
adc ebx, dword [ecx + 4]
add edx, eax
mov ebp, eax
mov dword [esp + 0x34], eax
adc edi, ebx
mov eax, dword [ecx + 0x18]
mov dword [esp + 8], eax
add edx, eax
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x20], esi
adc edi, esi
mov eax, edx
shld eax, edi, 0xb
mov dword [esp + 4], eax
shld edi, edx, 0xb
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x14]
add edi, ebp
mov ebp, dword [esp + 0x28]
adc ebp, ebx
mov edx, dword [ecx + 0x10]
add edi, edx
mov ecx, dword [ecx + 0x14]
adc ebp, ecx
mov eax, ebp
shld eax, edi, 0x14
mov esi, edi
shld esi, ebp, 0x14
add esi, dword [esp + 0x34]
adc eax, ebx
add esi, dword [esp + 0xc]
mov dword [esp + 0x48], esi
adc eax, dword [esp + 4]
mov dword [esp + 4], eax
add edi, dword [esp + 8]
mov dword [esp + 0x14], edi
adc ebp, dword [esp + 0x20]
mov dword [esp + 0x28], ebp
mov ebx, dword [esp + 0x40]
add ebx, dword [esp + 0x18]
mov eax, dword [esp]
adc eax, dword [esp + 0x44]
add edx, dword [esp + 0x2c]
adc ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x7c]
add ebx, dword [esi + 0x20]
adc eax, dword [esi + 0x24]
add edx, ebx
adc ecx, eax
mov ebp, eax
mov dword [esp], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 8], eax
add edx, eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0xc], eax
adc ecx, eax
mov esi, edx
shld esi, ecx, 0xb
shld ecx, edx, 0xb
mov edi, dword [esp + 0x1c]
add edi, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
adc eax, dword [esp + 0x38]
add edi, ebx
adc eax, ebp
mov ebp, eax
shld ebp, edi, 0x14
mov edx, edi
shld edx, eax, 0x14
add ecx, ebx
adc esi, dword [esp]
add ecx, edx
adc esi, ebp
add edi, dword [esp + 8]
adc eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x58], 0x40
je 0x44dc0a
add dword [esp + 0x58], 0xffffffc0
mov dword [esp], 0
mov dword [esp + 0x54], ecx
mov ebp, dword [esp + 0x24]
mov edx, edi
mov dword [esp + 8], esi
nop word cs:[eax + eax]
nop
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x2c]
mov edx, eax
mov esi, eax
add edx, dword [esp + 0x14]
mov eax, ebp
adc eax, dword [esp + 0x28]
add edx, dword [esp + 0x40]
adc eax, dword [esp + 0x44]
mov ecx, dword [esp]
mov edi, dword [esp + 0x7c]
mov ebx, dword [edi + ecx + 0x48]
mov dword [esp + 0x20], ebx
add edx, ebx
mov ebx, dword [edi + ecx + 0x4c]
mov dword [esp + 0x30], ebx
adc eax, ebx
mov ebx, eax
shld ebx, edx, 0x1b
shrd eax, edx, 5
mov edi, eax
mov ecx, 0xbe98f273
mul ecx
mov dword [esp + 0x18], eax
mov eax, 0xb492b66f
imul edi, eax
add edx, edi
imul ebx, ecx
add ebx, edx
mov eax, esi
mov esi, dword [esp + 0x48]
add eax, esi
adc ebp, dword [esp + 4]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp]
mov ecx, dword [edx + edi + 0x70]
mov dword [esp + 0x60], ecx
add eax, ecx
mov ecx, dword [edx + edi + 0x74]
mov dword [esp + 0x5c], ecx
adc ebp, ecx
mov edi, ebp
shld edi, eax, 0x16
shrd ebp, eax, 0xa
mov eax, ebp
mov ecx, 0xbe98f273
mul ecx
mov ecx, 0xb492b66f
imul ebp, ecx
add edx, ebp
mov ecx, 0xbe98f273
imul edi, ecx
add edi, edx
xor ebx, dword [esp + 8]
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
mov ebp, dword [esp]
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + ebp + 0x68]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x14]
add ebx, edx
mov edx, dword [ecx + ebp + 0x6c]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x28]
adc ecx, edx
mov edx, ebx
add edx, eax
mov dword [esp + 0x2c], edx
mov eax, ecx
adc eax, edi
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x3c]
add edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x10]
adc eax, ebp
mov ecx, eax
shld ecx, edx, 0x1f
shrd eax, edx, 1
mov edi, eax
mov edx, 0xbe98f273
mul edx
mov ebx, 0xb492b66f
imul edi, ebx
add edx, edi
mov edi, 0xbe98f273
imul ecx, edi
add ecx, edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, esi
mul edi
mov ebx, 0xbe98f273
mov edi, 0xb492b66f
imul esi, edi
add esi, edx
mov edi, dword [esp + 4]
imul edi, ebx
add edi, esi
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
adc ebp, dword [esp + 0x34]
mov edx, dword [esp]
mov esi, dword [esp + 0x7c]
add eax, dword [esi + edx + 0x40]
mov dword [esp + 0x14], eax
adc edi, dword [esi + edx + 0x44]
mov dword [esp + 4], edi
add ecx, eax
adc ebp, edi
mov eax, dword [esi + edx + 0x58]
mov dword [esp + 0x28], eax
add ecx, eax
mov edi, dword [esi + edx + 0x5c]
mov dword [esp + 0x1c], edi
mov eax, esi
mov ebx, edx
adc ebp, edi
mov edx, ecx
shld edx, ebp, 0xb
mov dword [esp + 0x3c], edx
shld ebp, ecx, 0xb
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 4]
adc ecx, edx
mov ebp, dword [eax + ebx + 0x50]
add esi, ebp
mov edi, dword [eax + ebx + 0x54]
adc ecx, edi
mov ebx, ecx
shld ebx, esi, 0x14
mov eax, esi
shld esi, ecx, 0x14
add esi, dword [esp + 0x14]
adc ebx, edx
add esi, dword [esp + 0x10]
mov dword [esp + 0x48], esi
adc ebx, dword [esp + 0x3c]
add eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x24]
adc ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
adc eax, dword [esp + 0x44]
add ebp, dword [esp + 0x2c]
mov dword [esp + 0x10], ebp
adc edi, edx
mov ebp, edx
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x7c]
add edx, dword [esi + ecx + 0x60]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
adc eax, dword [edx + ecx + 0x64]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x10]
add edx, dword [esp + 4]
adc edi, eax
mov eax, dword [esp + 0x7c]
mov esi, dword [eax + ecx + 0x78]
mov dword [esp + 0x14], esi
add edx, esi
mov eax, dword [eax + ecx + 0x7c]
mov dword [esp + 0x10], eax
adc edi, eax
mov esi, edx
shld esi, edi, 0xb
shld edi, edx, 0xb
mov edx, dword [esp + 0x38]
add edx, dword [esp + 0x60]
mov eax, dword [esp + 0xc]
adc eax, dword [esp + 0x5c]
add edx, dword [esp + 4]
adc eax, dword [esp + 8]
mov dword [esp + 0xc], eax
shld eax, edx, 0x14
mov dword [esp + 0x28], eax
mov ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, eax, 0x14
add edi, dword [esp + 4]
adc esi, dword [esp + 8]
add edi, ecx
mov dword [esp + 0x1c], edi
mov eax, esi
adc eax, dword [esp + 0x28]
add edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
adc esi, dword [esp + 0x10]
add dword [esp], 0x40
mov edi, dword [esp + 0x18]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
mov dword [esp + 8], eax
mov ecx, dword [esp]
cmp dword [esp + 0x58], ecx
jne 0x44d910
jmp 0x44dc44
mov dword [esp + 0x1c], ecx
mov eax, esi
mov dword [esp + 0x38], edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
mov ebp, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0x30]
test byte [esp + 0x50], 0x3f
mov ebx, dword [esp + 0x2c]
mov dword [esp], eax
je 0x44dee7
mov ecx, ebx
add ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov eax, esi
mov dword [esp + 0x30], edx
adc eax, edx
add ecx, dword [esp + 0x40]
adc eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x80]
mov edx, dword [ebp - 0x38]
mov dword [esp + 0x14], edx
add ecx, edx
mov edx, dword [ebp - 0x34]
mov dword [esp + 0x10], edx
adc eax, edx
mov edi, eax
shld edi, ecx, 0x1b
shrd eax, ecx, 5
mov ecx, eax
mov ebp, 0xbe98f273
mul ebp
mov dword [esp + 4], eax
mov eax, 0xb492b66f
imul ecx, eax
add edx, ecx
imul edi, ebp
add edi, edx
add ebx, dword [esp + 0x48]
adc esi, dword [esp + 8]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx - 0x10]
mov dword [esp + 0x54], eax
add ebx, eax
mov eax, dword [ecx - 0xc]
mov dword [esp + 0x3c], eax
adc esi, eax
mov ecx, esi
shld ecx, ebx, 0x16
shrd esi, ebx, 0xa
mov eax, esi
mov ebx, 0xbe98f273
mul ebx
mov ebp, 0xb492b66f
imul esi, ebp
add edx, esi
imul ecx, ebx
mov ebx, 0xbe98f273
add ecx, edx
xor edi, dword [esp]
mov dword [esp + 0x28], edi
mov edx, dword [esp + 4]
xor edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
mov esi, dword [esp + 0x80]
mov edx, dword [esi - 0x18]
mov dword [esp + 0x4c], edx
mov edi, dword [esp + 0x20]
add edi, edx
mov edx, dword [esi - 0x14]
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x30]
adc esi, edx
mov edx, edi
add edx, eax
mov dword [esp + 0x2c], edx
mov eax, esi
adc eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
add eax, ebp
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
adc edx, esi
mov edi, edx
shld edi, eax, 0x1f
shrd edx, eax, 1
mov ecx, edx
mov eax, edx
mul ebx
mov ebx, 0xb492b66f
imul ecx, ebx
add edx, ecx
mov ecx, 0xbe98f273
imul edi, ecx
add edi, edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x48]
mov eax, edi
mul ecx
mov ebx, 0xbe98f273
mov ecx, eax
mov eax, edi
mov edi, 0xb492b66f
imul eax, edi
add eax, edx
mov edx, dword [esp + 8]
imul edx, ebx
add edx, eax
add ebp, dword [esp + 4]
adc esi, dword [esp + 0x28]
mov eax, dword [esp + 0x80]
add ecx, dword [eax - 0x40]
adc edx, dword [eax - 0x3c]
add ebp, ecx
mov ebx, ecx
mov dword [esp + 0x38], ecx
adc esi, edx
mov dword [esp + 8], edx
mov ecx, dword [eax - 0x28]
mov dword [esp + 0xc], ecx
add ebp, ecx
mov ecx, dword [eax - 0x24]
mov dword [esp + 0x18], ecx
adc esi, ecx
mov ecx, ebp
shld ecx, esi, 0xb
mov dword [esp + 0x30], ecx
shld esi, ebp, 0xb
mov edi, dword [esp + 0x14]
add edi, ebx
mov ebx, dword [esp + 0x10]
adc ebx, edx
mov edx, dword [eax - 0x30]
add edi, edx
mov eax, dword [eax - 0x2c]
adc ebx, eax
mov ecx, ebx
shld ecx, edi, 0x14
mov ebp, edi
shld ebp, ebx, 0x14
add ebp, dword [esp + 0x38]
adc ecx, dword [esp + 8]
add ebp, esi
mov dword [esp + 0x48], ebp
adc ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
add edi, dword [esp + 0xc]
mov dword [esp + 0x14], edi
adc ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x1c]
mov ecx, dword [esp]
adc ecx, dword [esp + 0x44]
add edx, dword [esp + 0x2c]
adc eax, dword [esp + 0x24]
mov edi, dword [esp + 0x80]
add esi, dword [edi - 0x20]
adc ecx, dword [edi - 0x1c]
add edx, esi
adc eax, ecx
mov ebx, ecx
mov dword [esp], ecx
mov ecx, dword [edi - 4]
mov dword [esp + 0xc], ecx
mov edi, dword [edi - 8]
mov dword [esp + 0x18], edi
add edx, edi
adc eax, ecx
mov ecx, edx
shld ecx, eax, 0xb
shld eax, edx, 0xb
mov edi, dword [esp + 0x4c]
add edi, dword [esp + 0x54]
mov edx, dword [esp + 0x20]
adc edx, dword [esp + 0x3c]
add edi, esi
adc edx, ebx
mov ebp, edx
mov ebx, edx
shld ebp, edi, 0x14
mov edx, edi
shld edx, ebx, 0x14
add eax, esi
adc ecx, dword [esp]
add eax, edx
adc ecx, ebp
add edi, dword [esp + 0x18]
adc ebx, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
jmp 0x44def1
mov ebx, dword [esp + 0x48]
mov ebp, edx
mov esi, dword [esp + 8]
xor ebx, dword [esp + 0x1c]
mov ecx, ebx
mov eax, 0x9ddfea08
imul ecx, eax
mov eax, ebx
mov ebx, 0xeb382d69
mul ebx
add edx, ecx
mov edi, dword [esp]
xor esi, edi
imul esi, ebx
add esi, edx
mov ecx, esi
xor esi, edi
xor eax, dword [esp + 0x1c]
shr ecx, 0xf
xor eax, ecx
mov ecx, eax
mov edx, 0x9ddfea08
imul ecx, edx
mul ebx
add edx, ecx
imul esi, ebx
add esi, edx
mov edx, esi
shr edx, 0xf
xor edx, eax
mov ecx, edx
mov eax, edx
mul ebx
mov edi, esi
mov esi, eax
mov eax, 0x9ddfea08
imul ecx, eax
add edx, ecx
imul edi, ebx
add edi, edx
mov ecx, dword [esp + 0x50]
mov eax, ecx
mov edx, 0xbe98f273
mul edx
mov ebx, 0xb492b66f
imul ecx, ebx
add ecx, edx
add eax, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
add eax, esi
mov dword [esp], eax
adc ecx, edi
mov dword [esp + 0x50], ecx
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
xor eax, edi
mov ecx, eax
mov edx, 0x9ddfea08
imul ecx, edx
mov esi, 0xeb382d69
mul esi
add edx, ecx
mov ebx, dword [esp + 0xc]
xor ebp, ebx
imul ebp, esi
mov esi, 0xeb382d69
add ebp, edx
mov ecx, ebp
xor ebp, ebx
xor eax, edi
shr ecx, 0xf
xor eax, ecx
mov ecx, eax
mov ebx, 0x9ddfea08
imul ecx, ebx
mul esi
add edx, ecx
imul ebp, esi
add ebp, edx
mov edx, ebp
shr edx, 0xf
xor edx, eax
mov ecx, edx
mov eax, edx
mul esi
mov dword [esp + 0xc], eax
mov edi, edx
imul ecx, ebx
add edi, ecx
mov edx, 0xbe98f273
mov ebx, dword [esp + 0x24]
mov ecx, ebx
shr ecx, 0xf
xor ecx, dword [esp + 0x2c]
imul ebp, esi
mov eax, ecx
mul edx
mov esi, eax
add ebp, edi
mov eax, 0xb492b66f
imul eax, ecx
add edx, eax
mov eax, 0xbe98f273
imul ebx, eax
add ebx, edx
add esi, dword [esp + 0x18]
adc ebx, dword [esp + 0x34]
add esi, dword [esp + 0xc]
adc ebx, ebp
mov edi, dword [esp]
xor esi, edi
mov eax, esi
mov ecx, 0xeb382d69
mul ecx
mov ecx, eax
mov ebp, 0x9ddfea08
imul esi, ebp
add edx, esi
mov esi, dword [esp + 0x50]
xor ebx, esi
mov eax, 0xeb382d69
imul ebx, eax
add ebx, edx
mov eax, ebx
shr eax, 0xf
xor ecx, edi
xor ecx, eax
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov edi, 0xeb382d69
xor ebx, esi
imul ebp, ecx
add edx, ebp
imul ebx, edi
add ebx, edx
shr ebx, 0xf
xor ebx, eax
imul eax, ebx, 0xeb382d69
mov esi, dword [esp + 0x78]
mov dword [esi], eax
mov eax, esi
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x5691b0
call fcn.00533bee
add esp, 4
cmp dword [0x5691b0], 0xffffffff
jne 0x44d537
mov eax, dword [0x569844]
mov ecx, dword [0x569840]
mov edx, ecx
or edx, eax
mov edx, 0xed558ccd
cmovne edx, ecx
mov ecx, 0xff51afd7
cmovne ecx, eax
mov dword [0x5691ac], ecx
mov dword [0x5691a8], edx
push 0x5691b0
call fcn.00533ba4
add esp, 4
jmp 0x44d537