Function at 0x2474ea0
Capabilities:
Encode data using xor
Hash data using sha384
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x80
push ebx
push ebp
push esi
push edi
mov esi, dword [ecx]
mov dword [esp + 0x38], esi
mov esi, dword [ecx + 4]
mov dword [esp + 0x3c], esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x60], esi
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x64], esi
mov esi, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x20]
mov dword [esp + 0x48], esi
mov esi, dword [ecx + 0x14]
mov dword [esp + 0x4c], esi
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x68], esi
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x6c], esi
mov esi, dword [ecx + 0x24]
mov dword [esp + 0x44], esi
mov esi, dword [ecx + 0x28]
mov dword [esp + 0x50], esi
mov esi, dword [ecx + 0x2c]
mov dword [esp + 0x54], esi
mov esi, dword [ecx + 0x30]
lea eax, [ecx + 0x50]
mov dword [esp + 0x58], esi
mov esi, dword [ecx + 0x34]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], esi
mov esi, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov dword [esp + 0x74], ecx
mov ecx, 0x24cbe60
sub ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov eax, 0x10
mov dword [esp + 0x40], ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp 0x2474f46
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov eax, dword [edx + 4]
add edx, 8
mov dword [esp + 0x20], edx
xor edx, edx
xor ebx, ebx
or ebx, ecx
or eax, edx
mov ecx, 8
mov edx, ebx
mov dword [esp + 0x88], eax
call fcn.024add20
mov esi, eax
mov eax, dword [esp + 0x88]
mov edi, edx
mov edx, ebx
and eax, 0xff00ff
and edx, 0xffff00ff
mov ecx, 8
and esi, 0xff00ff
and edi, 0xff00ff
call fcn.024ade90
or esi, eax
or edi, edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.024add20
mov ebx, eax
and edx, 0xffff
mov eax, esi
mov dword [esp + 0x24], edx
and eax, 0xffff
mov ecx, 0x10
mov edx, edi
and ebx, 0xffff
call fcn.024ade90
mov ecx, dword [esp + 0x24]
or ebx, eax
mov eax, dword [esp + 0x10]
mov dword [eax], ebx
mov ebx, dword [esp + 0x44]
or ecx, edx
mov dword [eax + 4], ecx
mov esi, ebx
mov ecx, 0x17
mov eax, ebp
mov edx, ebx
shr esi, 9
xor edi, edi
call fcn.024ade90
or edi, edx
or esi, eax
mov edx, ebp
xor eax, eax
shl edx, 0xe
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov ecx, 0x12
mov eax, ebp
mov edx, ebx
call fcn.024add20
mov ecx, dword [esp + 0x24]
or ecx, eax
mov eax, dword [esp + 0x28]
or eax, edx
mov edx, dword [esp + 0x44]
xor edi, eax
mov eax, dword [esp + 0x40]
xor esi, ecx
mov ebx, eax
mov ecx, 0xe
xor ebp, ebp
shl ebx, 0x12
call fcn.024add20
or ebp, eax
mov eax, dword [esp + 0x40]
or ebx, edx
xor esi, ebp
xor edi, ebx
mov edx, eax
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x58]
not edx
and edx, ebp
mov ebp, dword [esp + 0x5c]
mov ebx, ecx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x50]
and ebp, eax
mov eax, dword [esp + 0x54]
and eax, ecx
mov ecx, dword [esp + 0x2c]
xor ebx, eax
mov eax, dword [esp + 0x10]
xor edx, ebp
mov ebp, dword [eax + 4]
add esi, edx
mov edx, dword [ecx + eax + 4]
adc edi, ebx
mov ebx, dword [ecx + eax]
mov ecx, dword [eax]
add esi, ebx
mov ebx, dword [esp + 0x70]
adc edi, edx
add esi, ecx
adc edi, ebp
mov ebp, dword [esp + 0x3c]
add esi, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x78], esi
adc edi, dword [esp + 0x74]
mov esi, ebx
mov dword [esp + 0x7c], edi
mov ecx, 0x1c
mov eax, ebx
mov edx, ebp
xor edi, edi
shl esi, 4
call fcn.024add20
or esi, edx
or edi, eax
mov edx, ebp
shr edx, 2
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov ecx, 0x1e
mov eax, ebx
mov edx, ebp
call fcn.024ade90
mov ecx, dword [esp + 0x28]
or ecx, eax
mov eax, dword [esp + 0x24]
or eax, edx
mov edx, ebp
xor edi, ecx
xor esi, eax
mov eax, dword [esp + 0x38]
mov ebx, edx
mov ecx, 0x19
shr ebx, 7
xor ebp, ebp
call fcn.024ade90
mov ecx, dword [esp + 0x60]
or ebx, eax
mov eax, dword [esp + 0x3c]
or ebp, edx
mov edx, dword [esp + 0x38]
xor edi, ebx
mov ebx, ecx
and ecx, dword [esp + 0x38]
xor ebx, edx
mov edx, dword [esp + 0x64]
and ebx, dword [esp + 0x48]
xor esi, ebp
mov ebp, edx
xor ebp, eax
and ebp, dword [esp + 0x4c]
and edx, eax
xor ebx, ecx
mov ecx, dword [esp + 0x58]
xor ebp, edx
mov edx, dword [esp + 0x5c]
add edi, ebx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x40]
adc esi, ebp
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x68]
mov ebp, ecx
add ebp, edx
mov edx, dword [esp + 0x7c]
mov ebx, edx
adc ebx, dword [esp + 0x6c]
add edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
adc esi, edx
add ecx, 8
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x38]
dec eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x2474f42
mov ecx, 0xe
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], 0x24cbee0
mov eax, dword [esp + 0x1c]
lea edx, [ecx + 3]
and edx, 0xf
mov esi, dword [eax + edx*8]
mov edx, dword [eax + edx*8 + 4]
and ecx, 0xf
mov dword [esp + 0x80], esi
mov esi, dword [eax + ecx*8]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x14]
and ecx, 0xf
mov dword [esp + 0x84], edx
lea edx, [eax + ecx*8]
mov dword [esp + 0x20], edx
mov ebx, esi
mov ecx, 0x13
mov eax, esi
mov edx, edi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
xor ebp, ebp
shl ebx, 0xd
call fcn.024add20
or ebx, edx
mov dword [esp + 0x28], ebx
mov ebx, edi
shr ebx, 0x1d
or ebp, eax
mov dword [esp + 0x2c], ebx
mov ecx, 3
mov eax, esi
mov edx, edi
xor ebx, ebx
call fcn.024ade90
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
or ecx, eax
mov eax, dword [esp + 0x88]
or ebx, edx
xor ebp, ecx
mov ecx, 6
mov edx, edi
xor esi, ebx
call fcn.024add20
mov edi, dword [esp + 0x84]
xor esi, edx
xor ebp, eax
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x80]
mov ebx, esi
mov dword [esp + 0x24], ebp
mov ecx, 8
mov eax, esi
mov edx, edi
xor ebp, ebp
shl ebx, 0x18
call fcn.024add20
or ebx, edx
or ebp, eax
mov dword [esp + 0x28], ebx
mov ebx, esi
mov dword [esp + 0x2c], ebp
mov ecx, 1
mov eax, esi
mov edx, edi
xor ebp, ebp
shl ebx, 0x1f
call fcn.024add20
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
or ebp, eax
mov eax, dword [esp + 0x80]
or ebx, edx
mov edx, dword [esp + 0x84]
mov ecx, 7
xor esi, ebp
xor edi, ebx
call fcn.024add20
xor esi, eax
xor edi, edx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add edx, esi
adc ecx, edi
lea esi, [eax - 5]
mov eax, dword [esp + 0x1c]
and esi, 0xf
add edx, dword [eax + esi*8]
mov ebx, dword [eax + esi*8 + 4]
mov eax, dword [esp + 0x20]
mov edi, dword [eax]
mov ebp, dword [esp + 0x44]
adc ecx, ebx
mov ebx, dword [esp + 0x40]
add edi, edx
mov dword [eax], edi
adc dword [eax + 4], ecx
mov esi, ebp
mov ecx, 0x17
mov eax, ebx
mov edx, ebp
shr esi, 9
xor edi, edi
call fcn.024ade90
or edi, edx
or esi, eax
mov edx, ebx
xor eax, eax
shl edx, 0xe
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov ecx, 0x12
mov eax, ebx
mov edx, ebp
call fcn.024add20
mov ecx, dword [esp + 0x30]
or ecx, eax
mov eax, dword [esp + 0x2c]
or eax, edx
mov edx, dword [esp + 0x44]
xor esi, ecx
xor edi, eax
mov eax, ebx
mov ecx, 0xe
xor ebp, ebp
shl ebx, 0x12
call fcn.024add20
mov ecx, dword [esp + 0x44]
or ebp, eax
mov eax, dword [esp + 0x40]
or ebx, edx
xor edi, ebx
xor esi, ebp
mov ebp, dword [esp + 0x58]
mov edx, eax
not edx
and edx, ebp
mov ebp, dword [esp + 0x5c]
mov ebx, ecx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x50]
and ebp, eax
mov eax, dword [esp + 0x54]
and eax, ecx
xor ebx, eax
mov eax, dword [esp + 0x20]
xor edx, ebp
add esi, edx
mov edx, dword [eax + 4]
adc edi, ebx
mov ebx, dword [eax]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
add esi, ebx
adc edi, edx
add esi, ecx
mov ebx, dword [esp + 0x70]
adc edi, ebp
mov ebp, dword [esp + 0x3c]
add esi, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x78], esi
adc edi, dword [esp + 0x74]
mov esi, ebx
mov dword [esp + 0x7c], edi
mov ecx, 0x1c
mov eax, ebx
mov edx, ebp
xor edi, edi
shl esi, 4
call fcn.024add20
or esi, edx
or edi, eax
mov edx, ebp
shr edx, 2
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov ecx, 0x1e
mov eax, ebx
mov edx, ebp
call fcn.024ade90
mov ecx, dword [esp + 0x30]
or ecx, eax
mov eax, dword [esp + 0x2c]
or eax, edx
mov edx, ebp
xor edi, ecx
xor esi, eax
mov eax, dword [esp + 0x38]
mov ebx, edx
mov ecx, 0x19
shr ebx, 7
xor ebp, ebp
call fcn.024ade90
mov ecx, dword [esp + 0x60]
or ebp, edx
mov edx, dword [esp + 0x38]
or ebx, eax
mov eax, dword [esp + 0x3c]
xor edi, ebx
mov ebx, ecx
and ecx, dword [esp + 0x38]
xor ebx, edx
mov edx, dword [esp + 0x64]
and ebx, dword [esp + 0x48]
xor esi, ebp
mov ebp, edx
xor ebp, eax
and ebp, dword [esp + 0x4c]
and edx, eax
xor ebx, ecx
mov ecx, dword [esp + 0x58]
xor ebp, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x44]
add edi, ebx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x68]
adc esi, ebp
mov ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x7c]
mov ebp, edx
adc ebp, dword [esp + 0x6c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x4c]
add edi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x60]
adc esi, edx
inc ecx
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
add eax, 8
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x38]
inc ecx
cmp eax, 0x24cc0e0
mov dword [esp + 0x60], ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jl 0x24751f8
mov eax, dword [esp + 0x34]
add dword [eax], edi
mov edi, dword [eax + 4]
mov ecx, dword [esp + 0x64]
adc edi, esi
add dword [eax + 8], ebp
mov edx, dword [eax + 0xc]
adc edx, ecx
mov ecx, dword [eax + 0x10]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x48]
add ecx, edx
mov edx, dword [esp + 0x68]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x4c]
mov ebp, dword [eax + 0x14]
adc ebp, ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], edi
mov edi, dword [eax + 0x18]
add edi, edx
mov edx, dword [eax + 0x20]
mov dword [eax + 0x18], edi
mov esi, dword [eax + 0x1c]
mov edi, dword [eax + 0x30]
adc esi, ecx
add edx, ebx
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0x44]
mov ecx, dword [eax + 0x24]
adc ecx, edx
mov edx, dword [esp + 0x54]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x14], ebp
mov ebp, dword [eax + 0x28]
add ebp, ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x28], ebp
mov ebx, dword [eax + 0x2c]
adc ebx, edx
mov edx, dword [esp + 0x5c]
add edi, ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x1c], esi
mov dword [eax + 0x30], edi
mov esi, dword [eax + 0x34]
adc esi, edx
mov edx, dword [eax + 0x38]
add edx, ecx
pop edi
mov dword [eax + 0x38], edx
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x70]
mov dword [eax + 0x34], esi
pop esi
adc ecx, edx
pop ebp
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x3c], ecx
pop ebx
add esp, 0x80
ret