Function at 0x42cb10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffffc
sub esp, 0x64
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
cmp ebx, 0x7f
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
ja 0x42cbda
mov eax, ecx
cmp ebx, 0x10
jg 0x42d537
mov esi, 0xbe98f273
mov ecx, eax
mul esi
imul edi, ecx, 0xb492b66f
add edi, edx
imul ecx, dword [esp + 0x14], 0xbe98f273
add ecx, edi
imul ebx, ecx, 0xbe98f273
shr ecx, 0xf
xor ecx, eax
mov eax, ecx
mul esi
mov dword [esp], eax
imul edi, ecx, 0xb492b66f
add edi, edx
add edi, ebx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mul esi
mov esi, eax
imul eax, ecx, 0xb492b66f
add eax, edx
imul ebx, dword [esp + 0x34], 0xbe98f273
add ebx, eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
call fcn.0042c820
mov ecx, edx
add eax, esi
mov esi, eax
adc ecx, ebx
mov edx, ecx
cmp dword [ebp + 0x10], 8
jb 0x42cbc3
mov eax, dword [ebp + 0xc]
mov edx, eax
mov eax, dword [eax]
mov edx, dword [edx + 4]
add eax, dword [esp]
adc edx, edi
mov dword [esp + 0x10], edx
shr edx, 0xf
xor edx, eax
mov dword [esp + 0x18], edx
jmp 0x42d793
mov eax, ebx
mov esi, edx
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x2c], ecx
imul eax, ebx, 0xb492b66f
add eax, edx
mov dword [esp + 0x44], eax
mov eax, esi
xor eax, 0xbe98f273
mov esi, edi
xor esi, 0xb492b66f
mov ecx, esi
shld ecx, eax, 0xf
shrd esi, eax, 0x11
mov eax, esi
mov ebx, 0xbe98f273
mul ebx
mov edi, eax
imul eax, esi, 0xb492b66f
add eax, edx
imul edx, ecx, 0xbe98f273
add edx, eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 0x58], eax
add edi, eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x54], eax
adc edx, eax
mov ecx, edx
shld ecx, edi, 0x16
mov dword [esp + 8], edi
mov dword [esp + 0x10], edx
shld edi, edx, 0x16
mov eax, edi
mul ebx
imul esi, edi, 0xb492b66f
add esi, edx
imul ecx, ecx, 0xbe98f273
add ecx, esi
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov dword [esp + 0x20], edx
add eax, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x28], eax
adc ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
mov esi, ebx
adc esi, dword [esp + 0x44]
mov ecx, esi
shld ecx, eax, 0x1d
shrd esi, eax, 3
mov eax, esi
mov edx, 0xbe98f273
mul edx
imul esi, esi, 0xb492b66f
add esi, edx
imul ecx, ecx, 0xbe98f273
add ecx, esi
mov edi, dword [esp + 0x2c]
add eax, edi
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x14]
adc ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
add eax, edi
mov edi, dword [ecx + 0x5c]
mov esi, ecx
adc edi, edx
mov ecx, edi
shld ecx, eax, 0xb
shrd edi, eax, 0x15
mov eax, edi
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0x30], eax
imul eax, edi, 0xb492b66f
add eax, edx
mov edx, dword [esp + 0x28]
imul ecx, ecx, 0xbe98f273
add ecx, eax
mov dword [esp + 0x18], ecx
lea eax, [esi + 0x88]
mov dword [esp], eax
mov eax, dword [ebp + 0x10]
add eax, 0xffffff80
mov dword [esp + 0x50], eax
nop
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 8]
mov eax, dword [esp + 0x14]
adc eax, dword [esp + 0x10]
add ecx, edi
adc eax, ebx
add ecx, dword [esp + 0x20]
adc eax, edx
mov esi, eax
shld esi, ecx, 0x1b
shrd eax, ecx, 5
mov ecx, eax
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0x2c], eax
mov eax, 0xb492b66f
imul ecx, eax
add edx, ecx
mov eax, 0xbe98f273
imul esi, eax
add esi, edx
mov dword [esp + 0x14], esi
add edi, dword [esp + 0x3c]
adc ebx, dword [esp + 0x38]
mov esi, dword [esp]
mov eax, dword [esi - 0x58]
mov dword [esp + 0x48], eax
add edi, eax
mov eax, dword [esi - 0x54]
mov dword [esp + 0x60], eax
adc ebx, eax
mov ecx, ebx
shld ecx, edi, 0x16
shrd ebx, edi, 0xa
mov eax, ebx
mov edx, 0xbe98f273
mul edx
mov edi, 0xb492b66f
imul ebx, edi
add edx, ebx
mov edi, 0xbe98f273
imul ecx, edi
mov ebx, 0xbe98f273
add ecx, edx
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
xor dword [esp + 0x2c], edx
mov edi, esi
mov dword [esp], esi
mov esi, dword [esi - 0x60]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 8]
add edx, esi
mov edi, dword [edi - 0x5c]
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x10]
adc esi, edi
add edx, eax
mov dword [esp + 8], edx
adc esi, ecx
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x40]
add ecx, edi
mov eax, dword [esp + 0x44]
adc eax, dword [esp + 4]
mov edx, eax
shld edx, ecx, 0x1f
mov esi, edx
shrd eax, ecx, 1
mov ecx, eax
mov edx, 0xb492b66f
imul ecx, edx
mul ebx
mov dword [esp + 0x1c], eax
mov ebx, edx
add ebx, ecx
mov eax, 0xbe98f273
mov ecx, esi
imul ecx, eax
mov edx, 0xbe98f273
mov esi, dword [esp + 0x3c]
mov eax, esi
mul edx
mov dword [esp + 0xc], eax
add ecx, ebx
mov dword [esp + 0x34], ecx
mov ebx, 0xb492b66f
imul esi, ebx
add esi, edx
mov eax, dword [esp + 0x38]
mov edx, 0xbe98f273
imul eax, edx
add eax, esi
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x58]
adc eax, dword [esp + 0x54]
add edi, ecx
mov edx, ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 4]
adc ecx, eax
mov dword [esp + 0x38], eax
add edi, dword [esp + 0x2c]
adc ecx, dword [esp + 0x14]
mov esi, dword [esp]
mov ebx, dword [esi - 0x70]
mov dword [esp + 0x3c], ebx
add edi, ebx
mov ebx, dword [esi - 0x6c]
mov dword [esp + 0x44], ebx
adc ecx, ebx
mov ebx, edi
shld ebx, ecx, 0xb
mov dword [esp + 0x40], ebx
shld ecx, edi, 0xb
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x20]
add ecx, edx
mov edi, dword [esp + 0x28]
adc edi, eax
mov edx, dword [esi - 0x78]
add ecx, edx
mov eax, ecx
mov ecx, dword [esi - 0x74]
adc edi, ecx
mov ebx, edi
shld ebx, eax, 0x14
mov esi, eax
shld esi, edi, 0x14
add eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
adc edi, dword [esp + 0x44]
mov dword [esp + 0x28], edi
add esi, dword [esp + 0xc]
adc ebx, dword [esp + 0x38]
add esi, dword [esp + 4]
mov dword [esp + 0x3c], esi
adc ebx, dword [esp + 0x40]
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x30]
add edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
adc eax, dword [esp + 0x34]
add edx, dword [esp + 8]
adc ecx, dword [esp + 0x10]
mov esi, dword [esp]
add edi, dword [esi - 0x68]
adc eax, dword [esi - 0x64]
add edx, edi
adc ecx, eax
mov dword [esp + 0x18], eax
mov ebx, dword [esi - 0x50]
mov dword [esp + 0xc], ebx
add edx, ebx
mov esi, dword [esi - 0x4c]
mov dword [esp + 0x30], esi
adc ecx, esi
mov esi, edx
shld esi, ecx, 0xb
mov dword [esp + 4], esi
shld ecx, edx, 0xb
mov ebx, dword [esp + 0x4c]
add ebx, edi
mov edx, dword [esp + 0x24]
adc edx, eax
add ebx, dword [esp + 0x48]
adc edx, dword [esp + 0x60]
mov esi, edx
shld esi, ebx, 0x14
mov eax, ebx
shld eax, edx, 0x14
add ebx, dword [esp + 0xc]
mov dword [esp + 0x4c], ebx
adc edx, dword [esp + 0x30]
mov dword [esp + 0x24], edx
add eax, edi
adc esi, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x18], eax
adc esi, dword [esp + 4]
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
adc eax, ebx
add ecx, dword [esp + 0x20]
adc eax, dword [esp + 0x28]
mov esi, dword [esp]
mov edx, dword [esi - 0x40]
mov dword [esp + 0x58], edx
add ecx, edx
mov edx, dword [esi - 0x3c]
mov dword [esp + 0x54], edx
adc eax, edx
mov edi, eax
shld edi, ecx, 0x1b
shrd eax, ecx, 5
mov ecx, eax
mov edx, 0xbe98f273
mul edx
mov esi, 0xb492b66f
imul ecx, esi
add edx, ecx
mov ecx, 0xbe98f273
imul edi, ecx
add edi, edx
mov esi, dword [esp + 8]
add esi, dword [esp + 0x3c]
mov edx, ebx
adc edx, dword [esp + 0x38]
mov ebx, dword [esp]
mov ecx, dword [ebx - 0x18]
mov dword [esp + 0x48], ecx
add esi, ecx
mov ecx, dword [ebx - 0x14]
mov dword [esp + 0x60], ecx
adc edx, ecx
mov ecx, edx
shld ecx, esi, 0x16
shrd edx, esi, 0xa
mov dword [esp + 0xc], eax
mov eax, edx
mov esi, edx
mov edx, 0xbe98f273
mul edx
mov dword [esp + 8], eax
mov ebx, 0xb492b66f
imul esi, ebx
add edx, esi
mov eax, 0xbe98f273
imul ecx, eax
add ecx, edx
xor edi, dword [esp + 0x30]
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov esi, dword [esp]
mov eax, dword [esi - 0x20]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x20]
add edx, eax
mov eax, dword [esi - 0x1c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x28]
adc esi, eax
add edx, dword [esp + 8]
mov dword [esp + 0x1c], edx
adc esi, ecx
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x4c]
add ecx, esi
mov eax, dword [esp + 0x14]
adc eax, dword [esp + 0x24]
mov edi, eax
shld edi, ecx, 0x1f
shrd eax, ecx, 1
mov ecx, eax
mov edx, 0xbe98f273
mul edx
mov ebx, 0xb492b66f
imul ecx, ebx
mov ebx, 0xb492b66f
add edx, ecx
mov ecx, 0xbe98f273
imul edi, ecx
add edi, edx
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x3c]
mov ecx, edx
imul ecx, ebx
mov dword [esp + 0x2c], eax
mov eax, edx
mov ebx, 0xbe98f273
mul ebx
mov edi, eax
add edx, ecx
mov eax, dword [esp + 0x38]
imul eax, ebx
add edx, eax
add esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
adc ecx, dword [esp + 0x44]
mov eax, dword [esp]
add edi, dword [eax - 0x48]
adc edx, dword [eax - 0x44]
add esi, edi
mov ebx, edi
mov dword [esp + 0x38], edi
adc ecx, edx
mov edi, dword [eax - 0x30]
mov dword [esp + 8], edi
add esi, edi
mov edi, dword [eax - 0x2c]
mov dword [esp + 0x10], edi
adc ecx, edi
mov edi, esi
shld edi, ecx, 0xb
mov dword [esp + 0x28], edi
shld ecx, esi, 0xb
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x58]
add edi, ebx
mov ecx, dword [esp + 0x54]
adc ecx, edx
mov ebx, dword [eax - 0x38]
add edi, ebx
mov eax, dword [eax - 0x34]
mov dword [esp + 0x20], eax
adc ecx, eax
mov esi, edi
shld esi, ecx, 0x14
mov eax, ecx
shld eax, edi, 0x14
add edi, dword [esp + 8]
mov dword [esp + 8], edi
adc ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
add esi, dword [esp + 0x38]
adc eax, edx
add esi, dword [esp + 0x24]
mov dword [esp + 0x3c], esi
adc eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
adc eax, dword [esp + 0x14]
add ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
adc ecx, dword [esp + 0x34]
mov esi, dword [esp]
add edx, dword [esi - 0x28]
mov dword [esp + 0x18], edx
adc eax, dword [esi - 0x24]
add ebx, edx
adc ecx, eax
mov edx, eax
mov dword [esp + 0x30], eax
mov eax, dword [esi - 0x10]
mov dword [esp + 0x28], eax
add ebx, eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x24], eax
adc ecx, eax
mov edi, ebx
shld edi, ecx, 0xb
shld ecx, ebx, 0xb
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
add eax, esi
mov ecx, dword [esp + 4]
adc ecx, edx
add eax, dword [esp + 0x48]
adc ecx, dword [esp + 0x60]
mov ebx, ecx
shld ebx, eax, 0x14
mov edx, eax
shld edx, ecx, 0x14
add eax, dword [esp + 0x28]
mov dword [esp + 0x40], eax
adc ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
add edx, esi
adc ebx, dword [esp + 0x30]
add edx, dword [esp + 0x20]
adc ebx, edi
mov esi, dword [esp + 0x50]
cmp esi, 0x80
mov edi, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], edx
jb 0x42d240
mov eax, dword [esp]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax - 8]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x54], ecx
sub eax, 0xffffff80
mov dword [esp], eax
add edi, 0xffffff80
mov dword [esp + 0x50], edi
mov ebx, dword [esp + 0x34]
jmp 0x42cd20
mov eax, dword [esp + 8]
add eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
adc esi, dword [esp + 0x44]
mov ecx, esi
shld ecx, eax, 0xf
shrd esi, eax, 0x11
mov edx, 0x97cb3127
mov eax, esi
mul edx
imul esi, esi, 0xc3a5c85c
add esi, edx
imul ecx, ecx, 0x97cb3127
add ecx, esi
add eax, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
adc ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mov edx, 0x97cb3127
mul edx
imul ecx, ecx, 0xc3a5c85c
add ecx, edx
imul edx, dword [esp + 0x34], 0x97cb3127
mov dword [esp + 0x50], edi
mov edi, ebx
mov esi, ebx
mov ebx, dword [esp + 0x30]
shld esi, ebx, 0x1b
shld ebx, edi, 0x1b
add edx, ecx
add ebx, eax
mov dword [esp + 0x4c], ebx
adc esi, edx
mov ecx, dword [esp + 0xc]
mov eax, ecx
mov edx, 0x97cb3127
mul edx
mov dword [esp], eax
mov eax, edx
imul edx, ecx, 0xc3a5c85c
add edx, eax
imul edi, dword [esp + 0x44], 0x97cb3127
mov ecx, dword [esp + 0x40]
mov eax, ecx
mov ebx, dword [esp + 4]
shld eax, ebx, 5
mov ebx, dword [esp + 4]
shld ebx, ecx, 5
add edi, edx
add ebx, dword [esp]
mov dword [esp + 0x14], ebx
adc eax, edi
mov dword [esp + 0xc], eax
mov edx, 9
mov eax, ecx
mul edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
lea ecx, [eax + eax*8]
mov ebx, 0x97cb3127
add ecx, edx
mov edi, dword [esp + 8]
mov eax, edi
mul ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x20], eax
imul eax, edi, 0xc3a5c85c
add eax, edx
imul edx, dword [esp + 0x10], 0x97cb3127
add edx, eax
test ebx, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], edx
je 0x42d8bb
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
add eax, ecx
add eax, 0xfffffff8
mov dword [esp], eax
mov dword [esp + 0x34], 0
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
nop word cs:[eax + eax]
nop
mov dword [esp + 0x48], edx
add dword [esp + 0x34], 0x20
add ecx, edx
mov ebx, dword [esp + 0x28]
adc esi, ebx
mov eax, esi
shld eax, ecx, 0x16
mov dword [esp + 8], eax
shrd esi, ecx, 0xa
mov dword [esp + 4], esi
mov eax, esi
mov ecx, 0x97cb3127
mul ecx
mov ecx, 0xc3a5c85c
mov esi, dword [esp + 4]
imul esi, ecx
add edx, esi
mov ecx, dword [esp + 8]
mov esi, 0x97cb3127
imul ecx, esi
add ecx, edx
add eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
adc ecx, edi
mov dword [esp + 8], ecx
mov ecx, dword [esp]
mov eax, dword [ecx - 8]
mov dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
mov eax, dword [ecx - 4]
mov dword [esp + 0x24], eax
adc dword [esp + 0x40], eax
mov esi, dword [esp + 0x48]
mov eax, esi
mov ecx, 0x97cb3127
mul ecx
mov ecx, 0xc3a5c85c
imul esi, ecx
add esi, edx
mov ecx, 0x97cb3127
imul ebx, ecx
add ebx, esi
add eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
adc ebx, dword [esp + 0x40]
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
add eax, edx
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
adc ebx, ecx
mov esi, dword [esp]
mov esi, dword [esi - 0x18]
mov dword [esp + 4], esi
add eax, dword [esp + 4]
mov esi, dword [esp]
mov esi, dword [esi - 0x14]
mov dword [esp + 0xc], esi
adc ebx, esi
add edx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x10]
adc ecx, edx
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 4]
add esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
adc ecx, edx
mov dword [esp + 0x14], eax
add esi, eax
mov dword [esp + 4], esi
mov dword [esp + 0xc], ebx
adc ecx, ebx
mov edx, ecx
mov eax, dword [esp]
mov ebx, dword [eax]
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x3c]
add ecx, ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x20], ebx
adc edi, ebx
add ecx, esi
adc edi, edx
mov esi, edx
mov edx, ecx
shld edx, edi, 0xb
mov dword [esp + 0x10], edx
shld edi, ecx, 0xb
mov ebx, dword [esp + 0x38]
add ebx, dword [eax - 0x10]
mov edx, dword [esp + 0x24]
adc edx, dword [eax - 0xc]
add ebx, dword [esp + 4]
adc edx, esi
mov ecx, edx
shld ecx, ebx, 0x14
mov eax, ebx
shld eax, edx, 0x14
add ebx, dword [esp + 0x44]
adc edx, dword [esp + 0x20]
mov dword [esp + 0x24], edx
add eax, dword [esp + 4]
adc ecx, esi
add eax, edi
mov dword [esp + 0x3c], eax
adc ecx, dword [esp + 0x10]
mov edx, ebx
mov eax, 0xc3a5c85c
imul ebx, eax
mov eax, edx
mov esi, 0x97cb3127
mul esi
add edx, ebx
mov edi, dword [esp + 0x24]
imul edi, esi
add edx, edi
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x50]
add dword [esp], 0xffffffe0
mov esi, dword [esp + 8]
mov dword [esp + 4], ecx
mov edi, ecx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x34], ebx
jb 0x42d380
jmp 0x42d8d3
mov edx, 0xbe98f273
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + ebx - 8]
add ecx, edx
mov edi, dword [esi + ebx - 4]
mov edx, 0xb492b66f
adc edi, edx
mov dword [esp + 0x2c], eax
xor ecx, eax
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov ebx, 0xeb382d69
mov esi, eax
mov eax, 0x9ddfea08
imul ecx, eax
add edx, ecx
mov eax, dword [esp + 0x14]
xor edi, eax
mov ecx, eax
imul edi, ebx
add edi, edx
mov eax, edi
shr eax, 0xf
xor esi, dword [esp + 0x2c]
xor esi, eax
mov eax, esi
mul ebx
mov ebx, 0x9ddfea08
imul esi, ebx
mov ebx, 0x9ddfea08
add edx, esi
xor edi, ecx
mov ecx, 0xeb382d69
imul edi, ecx
add edi, edx
mov ecx, edi
shr ecx, 0xf
xor ecx, eax
mov esi, ecx
imul esi, ebx
mov eax, ecx
mov ecx, 0xeb382d69
mul ecx
mov dword [esp + 8], eax
add edx, esi
imul edi, ecx
add edi, edx
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x5c], edx
add eax, edx
mov ecx, dword [esp + 0x34]
adc ecx, 0
mov ebx, dword [esp + 8]
mov esi, dword [ebp + 0xc]
add ebx, dword [esi + edx - 0x10]
mov dword [esp + 4], esi
mov esi, dword [esi + edx - 0xc]
mov dword [esp + 0x24], edi
adc esi, edi
xor eax, ebx
mov edi, eax
mov edx, 0x9ddfea08
imul edi, edx
mov edx, 0xeb382d69
mul edx
add edx, edi
xor ecx, esi
mov edi, 0xeb382d69
imul ecx, edi
add ecx, edx
mov edx, ecx
xor ecx, esi
xor eax, ebx
shr edx, 0xf
xor eax, edx
mov esi, eax
mov edx, 0x9ddfea08
imul esi, edx
mul edi
add edx, esi
mov esi, dword [esp + 8]
imul ecx, edi
mov ebx, 0xeb382d69
add ecx, edx
mov edx, ecx
shr edx, 0xf
xor edx, eax
mov edi, edx
mov eax, edx
mul ebx
mov ebx, 0x9ddfea08
imul edi, ebx
add edx, edi
mov edi, 0xeb382d69
imul ecx, edi
mov ebx, dword [esp + 0x14]
add ecx, edx
mov dword [esp + 0x18], eax
add eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
adc ebx, ecx
add dword [esp + 0x5c], 0x10
nop word [eax + eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
mov edi, ecx
mov ecx, eax
mov edx, 0xb492b66f
imul ecx, edx
mov edx, 0xbe98f273
mul edx
mov ebx, 0xbe98f273
add edx, ecx
mov esi, dword [edi + 4]
mov dword [esp + 4], edi
imul esi, ebx
add esi, edx
mov ecx, esi
shr ecx, 0xf
xor ecx, eax
mov eax, ecx
mul ebx
mov ebx, 0xb492b66f
imul ecx, ebx
add edx, ecx
mov ebx, 0xbe98f273
imul esi, ebx
add esi, edx
xor esi, dword [esp + 0x14]
xor eax, dword [esp]
mov ecx, eax
mov edx, 0xb492b66f
imul ecx, edx
mul ebx
mov ebx, 0xbe98f273
add edx, ecx
imul esi, ebx
add esi, edx
mov ecx, dword [edi + 8]
mov ebx, ecx
mov edx, 0xb492b66f
imul ebx, edx
mov dword [esp], eax
mov eax, ecx
mov ecx, 0xbe98f273
mul ecx
add edx, ebx
mov ecx, dword [edi + 0xc]
mov ebx, 0xbe98f273
imul ecx, ebx
add ecx, edx
mov edx, ecx
shr edx, 0xf
xor edx, eax
mov edi, edx
mov eax, edx
mul ebx
mov ebx, eax
mov eax, 0xb492b66f
imul edi, eax
add edx, edi
mov edi, esi
mov esi, 0xbe98f273
imul ecx, esi
add ecx, edx
xor ebx, dword [esp + 8]
mov eax, ebx
mul esi
xor ecx, dword [esp + 0x24]
mov esi, 0xb492b66f
imul ebx, esi
add edx, ebx
xor dword [esp + 0x34], edi
mov esi, dword [esp]
xor dword [esp + 0x1c], esi
mov esi, 0xbe98f273
imul ecx, esi
add ecx, edx
xor dword [esp + 0x10], ecx
mov esi, eax
xor dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
add dword [esp + 4], 0x10
mov ebx, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], eax
cmp eax, 0x20
jg 0x42d680
mov eax, dword [esp]
xor eax, esi
mov ebx, esi
mov esi, eax
mov edx, 0x9ddfea08
imul esi, edx
mov edx, 0xeb382d69
mul edx
add edx, esi
xor edi, ecx
mov esi, 0xeb382d69
imul edi, esi
add edi, edx
mov edx, edi
xor edi, ecx
xor eax, ebx
shr edx, 0xf
xor eax, edx
mov ecx, eax
mov edx, 0x9ddfea08
imul ecx, edx
mul esi
add edx, ecx
imul edi, esi
mov ebx, 0xeb382d69
add edi, edx
mov ecx, edi
shr ecx, 0xf
xor ecx, eax
mov esi, ecx
mov eax, ecx
mul ebx
mov ebx, 0xeb382d69
mov dword [esp + 4], eax
mov ecx, 0x9ddfea08
imul esi, ecx
add edx, esi
mov dword [esp], edx
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x1c]
mov esi, eax
imul esi, ecx
mul ebx
add edx, esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
xor ecx, esi
mov ebx, 0xeb382d69
imul ecx, ebx
mov ebx, 0xeb382d69
add ecx, edx
mov edx, ecx
xor ecx, esi
imul edi, ebx
shr edx, 0xf
xor eax, dword [esp + 0x1c]
xor eax, edx
mov esi, eax
mov edx, 0x9ddfea08
imul esi, edx
mul ebx
mov ebx, 0xeb382d69
add edx, esi
imul ecx, ebx
mov ebx, 0xeb382d69
add ecx, edx
mov esi, ecx
shr esi, 0xf
xor esi, eax
mov eax, esi
mul ebx
add edi, dword [esp]
mov ebx, 0x9ddfea08
imul esi, ebx
add edx, esi
mov esi, 0xeb382d69
imul ecx, esi
add ecx, edx
xor ecx, edi
mov ebx, dword [esp + 4]
xor eax, ebx
mov esi, eax
mov edx, 0x9ddfea08
imul esi, edx
mov dword [esp], eax
mov edx, 0xeb382d69
mul edx
add edx, esi
mov dword [esp + 0x10], ecx
mov esi, ecx
mov ecx, 0xeb382d69
imul esi, ecx
add esi, edx
xor eax, ebx
xor edi, esi
mov dword [esp + 0xc], edi
mov edi, 0x9ddfea08
mov ebx, dword [ebp + 8]
jmp 0x42dab0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x20]
mov esi, eax
mov edx, 0x9ddfea08
imul esi, edx
mov edx, 0xeb382d69
mul edx
add edx, esi
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
xor edi, esi
mov ebx, 0xeb382d69
imul edi, ebx
add edi, edx
mov edx, edi
xor edi, esi
xor eax, dword [esp + 0x20]
shr edx, 0xf
xor eax, edx
mov esi, eax
mov edx, 0x9ddfea08
imul esi, edx
mov ebx, 0xeb382d69
mul ebx
add edx, esi
imul edi, ebx
mov ebx, 0xeb382d69
add edi, edx
mov edx, edi
shr edx, 0xf
xor edx, eax
mov esi, edx
mov eax, edx
mul ebx
mov ebx, 0xeb382d69
mov dword [esp + 0x24], eax
mov eax, 0x9ddfea08
imul esi, eax
add edx, esi
imul edi, ebx
add edi, edx
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x14]
add eax, ecx
mov esi, dword [esp + 0xc]
adc esi, dword [esp + 8]
mov edi, dword [esp + 0x2c]
xor eax, edi
mov ecx, eax
mov edx, 0x9ddfea08
imul ecx, edx
mov ebx, 0xeb382d69
mul ebx
add edx, ecx
mov ecx, dword [esp + 0x40]
xor esi, ecx
imul esi, ebx
mov ebx, 0xeb382d69
add esi, edx
mov edx, esi
xor esi, ecx
xor eax, edi
shr edx, 0xf
xor eax, edx
mov ecx, eax
mov edx, 0x9ddfea08
imul ecx, edx
mov edi, 0x9ddfea08
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 dword [esp + 8], eax
imul ecx, edi
add edx, ecx
imul esi, ebx
add esi, edx
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
adc ecx, dword [esp + 4]
mov edi, dword [esp + 0x30]
xor eax, edi
mov dword [esp + 0x30], edi
mov ebx, eax
mov edx, 0x9ddfea08
imul ebx, edx
mov edx, 0xeb382d69
mul edx
add edx, ebx
xor ecx, dword [esp + 0x18]
mov ebx, 0xeb382d69
imul ecx, ebx
add ecx, edx
mov edx, ecx
shr edx, 0xf
xor eax, edi
xor eax, edx
mov ebx, eax
mov edx, 0x9ddfea08
imul ebx, edx
mov edx, 0xeb382d69
mul edx
mov edi, 0xeb382d69
add edx, ebx
xor ecx, dword [esp + 0x18]
imul ecx, edi
mov edi, 0xeb382d69
add ecx, edx
mov ebx, ecx
shr ebx, 0xf
xor ebx, eax
mov eax, ebx
mul edi
mov edi, 0x9ddfea08
imul ebx, edi
add edx, ebx
mov edi, 0xeb382d69
imul ecx, edi
add ecx, edx
mov edx, dword [esp + 8]
add eax, edx
mov dword [esp], eax
adc ecx, esi
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
adc ebx, dword [esp + 0x18]
add edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
adc esi, dword [esp + 4]
xor eax, edx
mov ecx, eax
mul edi
mov edi, 0x9ddfea08
imul ecx, edi
add edx, ecx
xor ebx, esi
mov edi, 0xeb382d69
imul ebx, edi
add ebx, edx
xor eax, dword [esp + 8]
xor esi, ebx
mov ecx, ebx
mov dword [esp + 0xc], esi
mov ebx, dword [ebp + 8]
mov esi, ecx
mov edi, 0x9ddfea08
shr esi, 0xf
xor esi, eax
mov ecx, esi
imul ecx, edi
mov eax, esi
mov esi, 0xeb382d69
mul esi
add edx, ecx
mov ecx, dword [esp + 0xc]
imul ecx, esi
add ecx, edx
mov esi, ecx
shr esi, 0xf
xor esi, eax
mov eax, esi
mov edx, 0xeb382d69
mul edx
imul edi, esi
add edx, edi
mov esi, 0xeb382d69
imul ecx, esi
add ecx, edx
mov edx, dword [esp]
mov dword [ebx], edx
mov edx, dword [esp + 0x10]
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret