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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
movzx eax, byte [0x533470]
test al, al
je 0x48917b
mov ebx, dword [0x53487c]
mov edx, dword [0x534878]
mov eax, esi
sub eax, edi
cmp eax, 0x40
ja 0x488664
push ebx
push edx
push eax
push edi
call fcn.00464d10
add esp, 0x10
jmp 0x489173
mov esi, 0xeb382d69
mov ebp, edx
xor ebp, 0xbe98f273
mov dword [esp + 0x54], eax
mov eax, ebp
mov dword [esp + 0xc], edx
mul esi
imul esi, ebp, 0x9ddfea08
add esi, edx
mov edi, ebx
xor edi, 0xb492b66f
imul ecx, edi, 0xeb382d69
add ecx, esi
mov esi, ecx
shr esi, 0xf
xor esi, eax
xor esi, 0xbe98f273
mov eax, esi
mov edx, 0xeb382d69
mul edx
xor ecx, 0xb492b66f
imul ecx, ecx, 0xeb382d69
add ecx, edx
imul edx, esi, 0x9ddfea08
add ecx, edx
imul esi, ecx, 0xeb382d69
shr ecx, 0xf
xor ecx, eax
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov dword [esp + 4], eax
add edx, esi
imul eax, ecx, 0x9ddfea08
add edx, eax
mov dword [esp + 0x18], edx
mov eax, edi
mov esi, ebp
shld eax, ebp, 0xf
mov dword [esp + 0x24], eax
mov edx, 0xbe98f273
mov ecx, dword [esp + 0xc]
mov eax, ecx
mul edx
mov ebp, eax
shld esi, edi, 0xf
mov dword [esp + 0x28], esi
imul eax, ecx, 0xb492b66f
mov dword [esp + 0x14], eax
mov edi, ecx
add edx, eax
mov esi, ebx
imul ecx, ebx, 0xbe98f273
add ecx, edx
shr ebx, 0xf
xor ebx, edi
xor ebp, ebx
mov eax, ebp
mov edx, 0xeb382d69
mul edx
mov edi, eax
imul eax, ebp, 0x9ddfea08
add eax, edx
mov dword [esp + 8], esi
xor ecx, esi
imul ecx, ecx, 0xeb382d69
add ecx, eax
xor ecx, esi
imul ebp, ecx, 0xeb382d69
shr ecx, 0xf
mov esi, dword [esp + 0xc]
xor edi, esi
xor edi, ecx
mov eax, edi
mov ecx, 0xeb382d69
mul ecx
mov ecx, edx
add ecx, ebp
imul edx, edi, 0x9ddfea08
add ecx, edx
imul edi, ecx, 0xeb382d69
shr ecx, 0xf
xor ecx, eax
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov dword [esp], eax
add edx, edi
imul eax, ecx, 0x9ddfea08
add edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x54]
and eax, 0xffffffc0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
add eax, esi
mov ebp, esi
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 8]
adc ecx, esi
mov edi, dword [esp + 0x74]
mov edx, dword [edi + 8]
mov dword [esp + 0x20], edx
add eax, edx
mov edx, dword [edi + 0xc]
mov dword [esp + 0x1c], edx
adc ecx, edx
mov edi, ecx
shld edi, eax, 0x1b
shrd ecx, eax, 5
mov eax, ecx
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0x34], eax
imul eax, ecx, 0xb492b66f
add eax, edx
imul ecx, edi, 0xbe98f273
add ecx, eax
mov dword [esp + 0x30], ecx
mov eax, 0xbe98f273
lea edi, [eax + 1]
mov eax, ebp
mul edi
mov ecx, edx
imul esi, edi
add ecx, dword [esp + 0x14]
add ecx, esi
mov edi, dword [esp + 0x74]
mov edx, dword [edi + 0x30]
mov dword [esp + 0x2c], edx
add eax, edx
mov edx, dword [edi + 0x34]
mov dword [esp + 0x40], edx
adc ecx, edx
mov esi, ecx
shld esi, eax, 0x16
shrd ecx, eax, 0xa
mov eax, ecx
mov edx, 0xbe98f273
mul edx
imul ecx, ecx, 0xb492b66f
add ecx, edx
imul edx, esi, 0xbe98f273
add edx, ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov ebp, dword [esp + 0x34]
xor ebp, dword [esp]
mov ecx, edi
mov edi, dword [edi + 0x28]
mov dword [esp + 0x50], edi
mov esi, dword [esp + 0x28]
add esi, edi
mov edi, dword [ecx + 0x2c]
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x24]
adc ecx, edi
add esi, eax
mov dword [esp + 0x28], esi
adc ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 4]
add ecx, ebx
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 8]
adc eax, esi
mov edi, eax
shld edi, ecx, 0x1f
shrd eax, ecx, 1
mov ecx, eax
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0x44], eax
imul eax, ecx, 0xb492b66f
add eax, edx
imul ecx, edi, 0xbe98f273
add ecx, eax
mov dword [esp + 0x48], ecx
mov edx, 0x822d9fa9
mov ecx, dword [esp + 0xc]
mov eax, ecx
mul edx
imul edi, ecx, 0x927126fd
add edi, edx
mov ecx, esi
imul esi, esi, 0x822d9fa9
add esi, edi
mov dword [esp + 0x34], ebp
add ebx, ebp
mov edx, ecx
adc edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x74]
add eax, dword [ecx]
adc esi, dword [ecx + 4]
add ebx, eax
mov edi, eax
mov dword [esp + 0x38], eax
adc edx, esi
mov eax, dword [ecx + 0x18]
mov dword [esp + 0xc], eax
add ebx, eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x18], eax
adc edx, eax
mov eax, ebx
shld eax, edx, 0xb
mov dword [esp + 4], eax
shld edx, ebx, 0xb
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x20]
add ebx, edi
mov ebp, dword [esp + 0x1c]
adc ebp, esi
mov edi, dword [ecx + 0x10]
add ebx, edi
mov edx, dword [ecx + 0x14]
adc ebp, edx
mov ecx, ebp
shld ecx, ebx, 0x14
mov eax, ebx
shld eax, ebp, 0x14
add eax, dword [esp + 0x38]
adc ecx, esi
add eax, dword [esp + 8]
mov dword [esp + 8], eax
adc ecx, dword [esp + 4]
mov dword [esp + 4], ecx
add ebx, dword [esp + 0xc]
mov dword [esp + 0x20], ebx
adc ebp, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp]
add ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
adc esi, dword [esp + 0x48]
add edi, dword [esp + 0x28]
adc edx, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
add ecx, dword [eax + 0x20]
mov dword [esp], ecx
adc esi, dword [eax + 0x24]
add edi, ecx
adc edx, esi
mov dword [esp + 0x10], esi
mov ecx, dword [eax + 0x38]
mov dword [esp + 0xc], ecx
add edi, ecx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x18], eax
adc edx, eax
mov ebp, edi
shld ebp, edx, 0xb
shld edx, edi, 0xb
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
adc ebx, dword [esp + 0x40]
mov eax, dword [esp]
add ecx, eax
adc ebx, esi
mov edi, ebx
mov esi, ebx
shld edi, ecx, 0x14
mov ebx, ecx
shld ebx, esi, 0x14
add ebx, eax
adc edi, dword [esp + 0x10]
add ebx, edx
mov dword [esp + 0x4c], ebx
adc edi, ebp
add ecx, dword [esp + 0xc]
adc esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
cmp dword [esp + 0x58], 0x40
jne 0x488a39
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, edi
mov dword [esp], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 8]
jmp 0x488d4a
add dword [esp + 0x58], 0xffffffc0
mov dword [esp + 0x10], edi
xor edi, edi
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 8]
mov dword [esp + 0x50], ecx
mov ebx, dword [esp + 0x28]
mov edx, ebx
add edx, dword [esp + 0x20]
mov eax, ebp
adc eax, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
adc eax, dword [esp + 0x48]
mov dword [esp + 8], edi
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + edi + 0x48]
mov dword [esp + 0x18], ecx
add edx, ecx
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + edi + 0x4c]
mov dword [esp + 0x2c], ecx
adc eax, ecx
mov ecx, eax
shrd eax, edx, 5
shld ecx, edx, 0x1b
mov edi, eax
mov edx, 0xb492b66f
imul edi, edx
mov edx, 0xbe98f273
mul edx
mov dword [esp + 0xc], eax
add edx, edi
mov eax, 0xbe98f273
imul ecx, eax
add ecx, edx
add ebx, esi
adc ebp, dword [esp + 4]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 8]
mov eax, dword [edx + edi + 0x70]
mov dword [esp + 0x3c], eax
add ebx, eax
mov eax, dword [edx + edi + 0x74]
mov dword [esp + 0x5c], eax
adc ebp, eax
mov edi, ebp
shrd ebp, ebx, 0xa
shld edi, ebx, 0x16
mov eax, ebp
mov ebx, ebp
mov edx, 0xb492b66f
imul ebx, edx
mov ebp, 0xbe98f273
mul ebp
add edx, ebx
imul edi, ebp
add edi, edx
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xc]
xor ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 8]
mov ecx, dword [edx + ebp + 0x68]
mov dword [esp], ecx
mov ebx, dword [esp + 0x20]
add ebx, ecx
mov ecx, dword [edx + ebp + 0x6c]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c]
adc edx, ecx
mov ecx, ebx
add ecx, eax
mov dword [esp + 0x28], ecx
mov eax, edx
adc eax, edi
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x50]
add ecx, ebp
mov eax, dword [esp + 0x30]
adc eax, dword [esp + 0x14]
mov ebx, eax
shrd eax, ecx, 1
shld ebx, ecx, 0x1f
mov edi, eax
mov ecx, 0xb492b66f
imul edi, ecx
mov ecx, 0xbe98f273
mul ecx
add edx, edi
imul ebx, ecx
add ebx, edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], eax
mov eax, esi
mul ecx
mov edi, 0xb492b66f
imul esi, edi
add esi, edx
mov edx, dword [esp + 4]
imul edx, ecx
add edx, esi
add ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
adc esi, dword [esp + 0x40]
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x74]
add eax, dword [ecx + edi + 0x40]
adc edx, dword [ecx + edi + 0x44]
add ebp, eax
mov ebx, eax
mov dword [esp + 0x34], eax
adc esi, edx
mov dword [esp + 4], edx
mov eax, dword [ecx + edi + 0x58]
mov dword [esp + 0x20], eax
add ebp, eax
mov eax, dword [ecx + edi + 0x5c]
mov dword [esp + 0x1c], eax
mov ecx, edi
adc esi, eax
mov eax, ebp
shld eax, esi, 0xb
mov dword [esp + 0x30], eax
shld esi, ebp, 0xb
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x18]
add ebp, ebx
mov ebx, dword [esp + 0x2c]
adc ebx, edx
mov esi, edi
mov edx, dword [esp + 0x74]
mov eax, dword [edx + edi + 0x50]
add ebp, eax
mov ecx, eax
mov edi, dword [edx + edi + 0x54]
adc ebx, edi
mov esi, ebp
shld esi, ebx, 0x14
mov edx, ebx
shld ebx, ebp, 0x14
mov eax, ebp
add esi, dword [esp + 0x34]
adc ebx, dword [esp + 4]
add esi, dword [esp + 0x14]
adc ebx, dword [esp + 0x30]
add eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
adc edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x10]
adc edx, dword [esp + 0x48]
add ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
adc edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0x74]
add eax, dword [ebp + ecx + 0x60]
mov dword [esp + 0x14], eax
adc edx, dword [ebp + ecx + 0x64]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 4]
add ecx, eax
adc edi, edx
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + edx + 0x78]
mov dword [esp + 0x20], eax
add ecx, eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + edx + 0x7c]
mov dword [esp + 0x1c], eax
adc edi, eax
mov eax, ecx
shld eax, edi, 0xb
mov dword [esp + 4], eax
shld edi, ecx, 0xb
mov eax, dword [esp]
add eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
adc ecx, dword [esp + 0x5c]
add eax, dword [esp + 0x14]
mov dword [esp], eax
adc ecx, dword [esp + 0x10]
shld eax, ecx, 0x14
mov dword [esp + 0x38], eax
mov edx, ecx
mov eax, dword [esp]
shld edx, eax, 0x14
add edi, dword [esp + 0x14]
mov eax, dword [esp + 4]
adc eax, dword [esp + 0x10]
add edi, dword [esp + 0x38]
mov dword [esp + 0x3c], edi
adc eax, edx
mov edx, dword [esp]
add edx, dword [esp + 0x20]
mov dword [esp], edx
adc ecx, dword [esp + 0x1c]
mov edi, dword [esp + 8]
add edi, 0x40
mov edx, dword [esp + 0xc]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], ebx
mov edx, dword [esp]
mov dword [esp + 0x50], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], eax
mov ecx, edi
cmp dword [esp + 0x58], edi
jne 0x488a50
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x28]
test byte [esp + 0x54], 0x3f
mov dword [esp + 4], eax
je 0x488fdf
mov ecx, ebx
mov dword [esp + 0x18], edx
add ecx, edx
mov esi, dword [esp + 0x24]
mov eax, esi
adc eax, dword [esp + 0x2c]
add ecx, dword [esp + 0x44]
adc eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x78]
mov edx, dword [ebp - 0x38]
mov dword [esp + 0x20], edx
add ecx, edx
mov edx, dword [ebp - 0x34]
mov dword [esp + 0x14], edx
adc eax, edx
mov edi, eax
shld edi, ecx, 0x1b
shrd eax, ecx, 5
mov ecx, eax
mov edx, 0xb492b66f
imul ecx, edx
mov edx, 0xbe98f273
mul edx
mov ebp, 0xbe98f273
mov dword [esp + 0x1c], eax
add edx, ecx
imul edi, ebp
add edi, edx
add ebx, dword [esp + 8]
adc esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x78]
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x30], eax
add ebx, eax
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x34], eax
adc esi, eax
mov ecx, esi
shld ecx, ebx, 0x16
shrd esi, ebx, 0xa
mov ebx, esi
mov eax, 0xb492b66f
imul ebx, eax
mov eax, esi
mov esi, 0xbe98f273
mul esi
add edx, ebx
imul ecx, esi
add ecx, edx
xor edi, dword [esp + 4]
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x1c]
xor edi, dword [esp + 0x3c]
mov dword [esp + 0x1c], edi
mov esi, ebp
mov edx, dword [ebp - 0x18]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x18]
add ebx, edx
mov edx, dword [ebp - 0x14]
mov dword [esp + 0x18], edx
mov esi, dword [esp + 0x2c]
adc esi, edx
mov edx, ebx
add edx, eax
mov dword [esp + 0x28], edx
mov eax, esi
adc eax, ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xc]
mov esi, dword [esp]
add ecx, esi
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
adc eax, ebp
mov ebx, eax
shld ebx, ecx, 0x1f
shrd eax, ecx, 1
mov ecx, eax
mov edx, 0xb492b66f
imul ecx, edx
mov edx, 0xbe98f273
mul edx
add edx, ecx
mov ecx, 0xbe98f273
imul ebx, ecx
add ebx, edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 8]
mov eax, ecx
mov edx, 0xbe98f273
mul edx
mov ebx, eax
mov eax, ecx
mov ecx, 0xb492b66f
imul eax, ecx
add eax, edx
mov ecx, dword [esp + 0x10]
mov edx, 0xbe98f273
imul ecx, edx
add ecx, eax
add esi, edi
adc ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x78]
add ebx, dword [eax - 0x40]
adc ecx, dword [eax - 0x3c]
add esi, ebx
mov dword [esp + 8], ebx
adc ebp, ecx
mov edx, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [eax - 0x28]
mov dword [esp + 0xc], ecx
add esi, ecx
mov ecx, dword [eax - 0x24]
mov dword [esp + 0x2c], ecx
adc ebp, ecx
mov ecx, esi
shld ecx, ebp, 0xb
mov dword [esp], ecx
shld ebp, esi, 0xb
mov esi, dword [esp + 0x20]
add esi, ebx
mov ecx, dword [esp + 0x14]
adc ecx, edx
mov edi, dword [eax - 0x30]
add esi, edi
mov edx, dword [eax - 0x2c]
adc ecx, edx
mov ebx, ecx
shld ebx, esi, 0x14
mov eax, esi
shld eax, ecx, 0x14
add eax, dword [esp + 8]
adc ebx, dword [esp + 0x10]
add eax, ebp
mov dword [esp + 8], eax
adc ebx, dword [esp]
mov dword [esp], ebx
add esi, dword [esp + 0xc]
mov dword [esp + 0x20], esi
adc ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x44]
add esi, dword [esp + 0x3c]
mov ebx, dword [esp + 4]
adc ebx, dword [esp + 0x48]
add edi, dword [esp + 0x28]
adc edx, dword [esp + 0x24]
mov eax, dword [esp + 0x78]
add esi, dword [eax - 0x20]
adc ebx, dword [eax - 0x1c]
mov ecx, dword [eax - 4]
mov dword [esp + 0x10], ecx
mov eax, dword [eax - 8]
mov dword [esp + 0xc], eax
add edi, esi
adc edx, ebx
mov ebp, ebx
mov dword [esp + 4], ebx
add edi, eax
adc edx, ecx
mov eax, edi
shld eax, edx, 0xb
shld edx, edi, 0xb
mov ebx, dword [esp + 0x50]
add ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
adc ecx, dword [esp + 0x34]
add ebx, esi
adc ecx, ebp
mov ebp, ecx
shld ebp, ebx, 0x14
mov edi, ebx
shld edi, ecx, 0x14
add edx, esi
adc eax, dword [esp + 4]
add edx, edi
adc eax, ebp
add ebx, dword [esp + 0xc]
adc ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
mov dword [esp + 4], eax
mov edi, ebx
mov esi, ecx
mov eax, dword [esp]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
jmp 0x488ff0
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0x38]
mov edi, dword [esp]
mov ebp, dword [esp + 0x2c]
mov ecx, edx
xor ecx, edi
mov eax, ecx
mov edx, 0xeb382d69
mul edx
mov ebx, eax
mov eax, ecx
mov ecx, 0x9ddfea08
imul eax, ecx
add edx, eax
xor ebp, esi
mov eax, 0xeb382d69
imul ebp, eax
add ebp, edx
xor ebx, edi
xor esi, ebp
shr ebp, 0xf
xor ebx, ebp
mov eax, ebx
mov ecx, 0xeb382d69
mul ecx
imul esi, ecx
add esi, edx
mov edx, 0x9ddfea08
imul ebx, edx
add esi, ebx
mov edx, esi
shr edx, 0xf
xor eax, edx
mov edi, eax
mul ecx
mov dword [esp], eax
imul esi, ecx
add esi, edx
mov ebx, esi
mov esi, dword [esp + 0x24]
mov ebp, esi
shr ebp, 0xf
xor ebp, dword [esp + 0x28]
mov ecx, edi
mov eax, ebp
mov edx, 0xbe98f273
mul edx
mov edi, 0x9ddfea08
imul ecx, edi
add ebx, ecx
mov ecx, 0xbe98f273
imul esi, ecx
add esi, edx
mov ecx, 0xb492b66f
imul ebp, ecx
add esi, ebp
add eax, dword [esp + 0xc]
adc esi, dword [esp + 0x40]
add eax, dword [esp]
mov dword [esp], eax
adc esi, ebx
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 8]
xor edi, ebx
mov eax, edi
mov ebp, 0xeb382d69
mul ebp
mov ecx, eax
mov eax, edi
mov edi, 0x9ddfea08
imul eax, edi
add edx, eax
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
xor eax, edi
imul eax, ebp
add eax, edx
xor ecx, ebx
xor edi, eax
shr eax, 0xf
xor ecx, eax
mov eax, ecx
mul ebp
mov ebx, eax
imul edi, ebp
add edi, edx
mov eax, 0x9ddfea08
imul ecx, eax
add edi, ecx
mov eax, edi
shr eax, 0xf
xor ebx, eax
mov eax, ebx
mov ecx, 0xeb382d69
mul ecx
mov ebp, eax
imul edi, ecx
add edi, edx
mov eax, 0x9ddfea08
imul ebx, eax
add edi, ebx
mov ebx, dword [esp + 0x54]
mov eax, ebx
mov ecx, 0xbe98f273
mul ecx
mov ecx, eax
mov eax, 0xb492b66f
imul ebx, eax
add ebx, edx
add ecx, dword [esp + 0x44]
adc ebx, dword [esp + 0x48]
add ecx, ebp
adc ebx, edi
mov eax, dword [esp]
xor eax, ecx
mov edi, eax
mov edx, 0xeb382d69
mul edx
mov ebp, 0x9ddfea08
imul edi, ebp
add edx, edi
xor esi, ebx
mov edi, 0xeb382d69
imul esi, edi
add esi, edx
xor eax, ecx
xor ebx, esi
shr esi, 0xf
xor eax, esi
mov ecx, 0x9ddfea08
imul ecx, eax
mov esi, 0xeb382d69
mul esi
imul ebx, esi
add ebx, edx
add ebx, ecx
shr ebx, 0xf
xor ebx, eax
imul eax, ebx, 0xeb382d69
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x533470
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x48863e
mov eax, dword [0x513afc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, ecx
or edx, eax
mov edx, 0xed558ccd
cmovne edx, ecx
mov ecx, 0xff51afd7
cmovne ecx, eax
mov dword [0x53487c], ecx
mov dword [0x534878], edx
push 0x533470
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x48863e