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

Disassembly:
mov eax, 0x74
call fcn.0055bc20
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x14]
mov dword [esp + 4], ecx
push ebx
mov ebx, dword [eax + 0x20]
push ebp
mov ebp, dword [eax + 4]
push esi
mov esi, dword [eax + 0x18]
mov ecx, esi
shr ecx, 2
add ecx, esi
mov dword [esp + 0x24], ecx
push edi
mov edi, dword [eax + 0x1c]
mov ecx, edi
shr ecx, 2
add ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, ebx
shr ecx, 2
add ecx, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], esi
mov esi, dword [eax + 0x10]
mov dword [esp + 0x2c], edi
mov edi, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x10], esi
cmp edx, 0x10
jb 0x5050f1
mov esi, dword [esp + 0x8c]
add esi, 6
shr edx, 4
mov dword [esp + 0x30], edx
nop
movzx edx, byte [esi - 3]
movzx eax, byte [esi - 4]
shl edx, 8
or edx, eax
movzx eax, byte [esi - 5]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [eax]
shl edx, 8
or edx, eax
xor eax, eax
xor ebx, ebx
add edx, edi
adc eax, ebx
movzx ebx, byte [esi + 1]
mov dword [esp + 0x64], edx
movzx edx, byte [esi]
shl ebx, 8
or ebx, edx
movzx edx, byte [esi - 1]
shl ebx, 8
or ebx, edx
movzx edx, byte [esi - 2]
xor edi, edi
shl ebx, 8
or ebx, edx
xor edx, edx
add ebx, eax
adc edx, edi
xor eax, eax
add ebx, ebp
adc edx, eax
movzx ebp, byte [esi + 5]
movzx eax, byte [esi + 4]
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 3]
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 2]
shl ebp, 8
or ebp, eax
xor eax, eax
add ebp, edx
adc eax, edi
movzx edi, byte [esi + 9]
xor edx, edx
add ebp, dword [esp + 0x18]
mov dword [esp + 0x7c], ebx
adc eax, edx
movzx edx, byte [esi + 7]
mov dword [esp + 0x70], eax
movzx eax, byte [esi + 8]
shl edi, 8
or edi, eax
movzx eax, byte [esi + 6]
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
xor edx, edx
xor eax, eax
add edi, dword [esp + 0x70]
push edx
adc eax, edx
add edi, ecx
mov ecx, dword [esp + 0x68]
adc eax, edx
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x18]
add dword [esp + 0x14], eax
xor eax, eax
push edx
push eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
push ecx
call fcn.0055e200
mov ebp, eax
xor eax, eax
push eax
mov eax, dword [esp + 0x2c]
push eax
xor eax, eax
push eax
push edi
mov dword [esp + 0x68], edx
call fcn.0055e200
mov ecx, dword [esp + 0x20]
add ebp, eax
adc dword [esp + 0x58], edx
mov edx, dword [esp + 0x74]
xor eax, eax
push eax
push ecx
push eax
push edx
call fcn.0055e200
add ebp, eax
adc dword [esp + 0x58], edx
xor eax, eax
push eax
mov eax, dword [esp + 0x20]
push eax
xor eax, eax
push eax
push ebx
call fcn.0055e200
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x10]
add ebp, eax
mov eax, dword [esp + 0x44]
adc ecx, edx
imul ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
push edx
push eax
xor eax, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x2c]
push eax
mov dword [esp + 0x70], ebp
push ecx
xor ebp, ebp
call fcn.0055e200
add ebx, eax
adc ebp, edx
mov edx, dword [esp + 0x14]
xor eax, eax
push eax
push edx
push eax
mov eax, dword [esp + 0x88]
push eax
call fcn.0055e200
mov ecx, dword [esp + 0x20]
add ebx, eax
adc ebp, edx
xor eax, eax
push eax
push ecx
push eax
push edi
call fcn.0055e200
add ebx, eax
adc ebp, edx
mov edx, dword [esp + 0x1c]
xor eax, eax
push eax
push edx
push eax
mov eax, dword [esp + 0x80]
push eax
call fcn.0055e200
add ebx, eax
adc ebp, edx
xor ecx, ecx
add ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
adc ebp, ecx
imul edx, dword [esp + 0x20]
push eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x60]
push ecx
xor eax, eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x2c]
push eax
push edx
call fcn.0055e200
add dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
adc dword [esp + 0x40], edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
xor eax, eax
push eax
push edx
call fcn.0055e200
add dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x74]
adc dword [esp + 0x40], edx
xor eax, eax
push eax
mov eax, dword [esp + 0x18]
push eax
xor eax, eax
push eax
push ecx
call fcn.0055e200
add dword [esp + 0x3c], eax
adc dword [esp + 0x40], edx
mov edx, dword [esp + 0x1c]
xor eax, eax
push eax
push edx
push eax
push edi
call fcn.0055e200
mov ecx, eax
mov eax, dword [esp + 0x3c]
add eax, ecx
mov ecx, dword [esp + 0x40]
adc ecx, edx
xor edx, edx
add eax, ebp
mov ebp, dword [esp + 0x10]
adc ecx, edx
imul ebp, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x60]
push eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x60]
push ecx
xor eax, eax
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x34]
push eax
push edx
call fcn.0055e200
mov ecx, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x48]
adc dword [esp + 0x50], edx
mov edx, dword [esp + 0x38]
push eax
push ecx
xor eax, eax
push eax
push edx
call fcn.0055e200
add ebp, eax
adc dword [esp + 0x50], edx
xor eax, eax
mov ecx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x28]
push eax
xor eax, eax
push eax
push ecx
call fcn.0055e200
add ebp, eax
adc dword [esp + 0x50], edx
mov edx, dword [esp + 0x14]
xor eax, eax
push eax
push edx
push eax
push edi
call fcn.0055e200
add ebp, eax
mov eax, dword [esp + 0x50]
adc eax, edx
mov edx, dword [esp + 0x10]
xor ecx, ecx
add ebp, dword [esp + 0x70]
adc eax, ecx
imul edx, dword [esp + 0x14]
add edx, eax
mov ecx, edx
shr ecx, 2
mov eax, edx
and eax, 0xfffffffc
add ecx, eax
mov eax, dword [esp + 0x64]
lea edi, [eax + ecx]
mov eax, edi
sub eax, ecx
xor eax, ecx
xor ecx, edi
or eax, ecx
xor eax, edi
shr eax, 0x1f
add ebx, eax
mov ecx, ebx
sub ecx, eax
xor ecx, eax
xor eax, ebx
or ecx, eax
mov eax, dword [esp + 0x6c]
xor ecx, ebx
shr ecx, 0x1f
add eax, ecx
mov dword [esp + 0x18], eax
sub eax, ecx
xor eax, ecx
xor ecx, dword [esp + 0x18]
add dword [esp + 0x8c], 0x10
or eax, ecx
xor eax, dword [esp + 0x18]
mov dword [esp + 0x34], ebx
shr eax, 0x1f
lea ecx, [eax + ebp]
mov ebp, dword [esp + 0x34]
mov ebx, ecx
sub ebx, eax
xor ebx, eax
xor eax, ecx
or ebx, eax
xor ebx, ecx
shr ebx, 0x1f
and edx, 3
add ebx, edx
add esi, 0x10
sub dword [esp + 0x30], 1
mov dword [esp + 0x10], ebx
jne 0x504d80
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x18]
mov dword [eax], edi
pop edi
pop esi
mov dword [eax + 4], ebp
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 8]
pop ebp
mov dword [eax + 8], edx
mov dword [eax + 0x10], ecx
pop ebx
add esp, 0x74
ret