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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x21c
mov eax, dword [0x5014a0]
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x6c], 0
mov dword [esp + 0xf0], eax
mov eax, dword [0x5014a4]
cmp ecx, 0x40
mov dword [esp + 0x68], 0
mov ebx, dword [esp + 0x230]
mov dword [esp + 0xf4], eax
mov eax, dword [0x5014a8]
mov dword [esp + 0xf8], eax
mov eax, dword [0x5014ac]
mov dword [esp + 0xfc], eax
mov eax, dword [0x5014b0]
mov dword [esp + 0x100], eax
mov eax, dword [0x5014b4]
mov dword [esp + 0x104], eax
mov eax, dword [0x5014b8]
mov dword [esp + 0x108], eax
mov eax, dword [0x5014bc]
mov dword [esp + 0x10c], eax
mov eax, 0x40
cmovbe eax, ecx
cmp eax, 4
jae 0x423d6b
test eax, eax
jne 0x424188
cmp ecx, 0x3f
ja 0x423d93
mov dword [esp + 0x6c], ecx
lea ebx, [esp + 0x68]
mov eax, dword [esp + 0x238]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00423a90
add esp, 0x21c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebx + eax - 4]
lea esi, [eax - 1]
mov dword [esp + eax + 0x6c], edx
cmp esi, 4
jb 0x423d40
and esi, 0xfffffffc
xor edx, edx
mov edi, dword [ebx + edx]
mov dword [esp + edx + 0x70], edi
add edx, 4
cmp edx, esi
jb 0x423d80
cmp ecx, 0x3f
jbe 0x423d45
mov edx, dword [esp + 0x74]
sub ecx, eax
add eax, ebx
mov ebx, 0x10
mov dword [esp + 0x58], ecx
shr ecx, 6
bswap edx
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xa8]
bswap edx
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x70]
bswap ecx
bswap edx
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x80]
bswap eax
mov dword [esp + 0x110], eax
bswap edx
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x84]
bswap edx
mov dword [esp + 0x124], edx
mov edx, dword [esp + 0x88]
bswap edx
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x8c]
bswap edx
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x90]
bswap edx
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x94]
bswap edx
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x98]
bswap edx
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0x9c]
bswap edx
mov dword [esp + 0x13c], edx
mov edx, dword [esp + 0xa0]
bswap edx
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0xa4]
bswap edx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ecx
mov edx, dword [esp + 0xac]
bswap edx
mov dword [esp + 0x14c], edx
mov edi, ecx
mov ebp, ecx
mov esi, dword [esp + ebx*4 + 0xd4]
shr ecx, 0xa
rol ebp, 0xd
rol edi, 0xf
xor edi, ebp
mov ebp, edx
xor ecx, edi
mov edi, esi
rol ebp, 0xd
add eax, ecx
mov ecx, esi
rol edi, 0xe
add eax, dword [esp + ebx*4 + 0xf4]
ror ecx, 7
xor ecx, edi
mov edi, esi
shr edi, 3
xor ecx, edi
mov edi, edx
shr edx, 0xa
rol edi, 0xf
add ecx, eax
mov eax, dword [esp + ebx*4 + 0xd8]
xor edi, ebp
mov dword [esp + ebx*4 + 0x110], ecx
xor edx, edi
add edx, dword [esp + ebx*4 + 0xf8]
mov edi, eax
add edx, esi
mov esi, eax
rol edi, 0xe
ror esi, 7
xor esi, edi
mov edi, eax
shr edi, 3
xor esi, edi
add edx, esi
mov dword [esp + ebx*4 + 0x114], edx
add ebx, 2
cmp ebx, 0x3e
jne 0x423e9f
mov ebx, dword [esp + 0x200]
mov edx, dword [esp + 0x1cc]
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0xf8]
mov eax, ebx
mov ecx, ebx
shr ebx, 0xa
rol ecx, 0xd
rol eax, 0xf
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x10c]
xor eax, ecx
mov ecx, ebx
mov ebx, edx
mov dword [esp + 0x40], edi
xor ecx, eax
mov eax, dword [esp + 0x1c8]
rol ebx, 0xe
mov dword [esp + 0x50], ebp
add eax, dword [esp + 0x1ec]
mov dword [esp + 0x34], ebp
add eax, ecx
mov ecx, edx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x1c], edi
ror ecx, 7
xor edi, edi
xor ecx, ebx
mov ebx, edx
add edx, dword [esp + 0x1f0]
mov dword [esp + 0x20], ebp
shr ebx, 3
xor ecx, ebx
mov ebx, dword [esp + 0x204]
add eax, ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x208], eax
mov esi, ebx
mov eax, ebx
shr ebx, 0xa
rol esi, 0xf
rol eax, 0xd
xor eax, esi
mov esi, dword [esp + 0xfc]
xor eax, ebx
mov ebx, ecx
add eax, edx
mov edx, ecx
rol ebx, 0xe
mov dword [esp + 0x44], esi
ror edx, 7
shr ecx, 3
mov dword [esp + 0x2c], esi
xor edx, ebx
mov ebx, dword [esp + 0xf0]
xor ecx, edx
mov edx, dword [esp + 0x104]
add eax, ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0x34]
jmp 0x42404c
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
mov ecx, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], ebx
mov ebx, esi
mov dword [esp + 0x1c], eax
mov eax, ecx
mov edx, ecx
mov esi, dword [esp + edi*4 + 0x110]
add esi, dword [edi*4 + 0x501320]
ror edx, 0xb
ror eax, 6
add edi, 1
xor eax, edx
mov edx, ecx
rol edx, 7
xor edx, eax
mov eax, ecx
add edx, esi
mov esi, dword [esp + 0x28]
not eax
and eax, dword [esp + 0x20]
and esi, ecx
xor eax, esi
mov esi, ebx
add eax, edx
mov edx, ebx
ror esi, 0xd
ror edx, 2
add eax, ebp
mov ebp, dword [esp + 0x24]
xor esi, edx
mov edx, ebx
rol edx, 0xa
xor esi, edx
mov edx, dword [esp + 0x1c]
xor edx, ebp
and ebp, dword [esp + 0x1c]
and edx, ebx
xor edx, ebp
mov ebp, dword [esp + 0x20]
add esi, edx
mov edx, dword [esp + 0x2c]
add esi, eax
add edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
cmp edi, 0x40
jne 0x424030
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x40]
add esi, dword [esp + 0x38]
add ebx, dword [esp + 0x3c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x1c]
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 0x5c]
add edx, dword [esp + 0x48]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x28]
mov dword [esp + 0xf4], ebx
lea ebx, [esp + 0x68]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], esi
add ecx, dword [esp + 0x4c]
add eax, ebp
mov dword [esp], ebx
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x100], edx
mov dword [esp + 8], eax
mov dword [esp + 0x104], ecx
call fcn.004234e0
mov edi, dword [esp + 0x58]
mov edx, edi
mov ecx, edi
and ecx, 0xffffffc0
and edx, 0x3f
add ecx, esi
cmp edx, 4
jae 0x4241b0
test edx, edx
je 0x424171
movzx eax, byte [ecx]
and edi, 2
mov byte [esp + 0x70], al
jne 0x4241d5
mov eax, dword [esp + 0x54]
mov dword [esp + 0x6c], edx
add eax, 1
shl eax, 6
add dword [esp + 0x68], eax
jmp 0x423d4d
movzx edx, byte [ebx]
mov byte [esp + 0x70], dl
test al, 2
je 0x423d40
movzx edx, word [ebx + eax - 2]
mov word [esp + eax + 0x6e], dx
jmp 0x423d40
mov eax, dword [edx + ecx - 4]
lea esi, [edx - 1]
mov dword [esp + edx + 0x6c], eax
cmp esi, 4
jb 0x424171
and esi, 0xfffffffc
xor eax, eax
mov edi, dword [ecx + eax]
mov dword [esp + eax + 0x70], edi
add eax, 4
cmp eax, esi
jb 0x4241c5
jmp 0x424171
movzx eax, word [ecx + edx - 2]
mov word [esp + edx + 0x6e], ax
jmp 0x424171