Function at 0x50339b
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
jne 0x503c78
shl edi, 0x1d
shl edx, 0x1b
neg ebx
shr ebx, 0x11
jmp 0x503bec
push ecx
or ebx, edi
mov esi, 0x5c33a25e
ror ebx, 0x1a
sub esi, edi
mov edx, 0x5c33f562
dec ebx
add ebx, edx
sub ebx, edi
mov esi, edi
shr edi, 0x1a
and edi, esi
or esi, ebx
rol edx, 0x18
add edi, 0x5c34e730
jmp 0x5034bf
mov ecx, dword [esp + 0x14]
sub edi, ebx
neg ebx
add edi, 0x5c383128
or esi, edi
jmp 0x504480
add ecx, dword [esp + 0x14]
neg ebx
xchg edx, esi
dec esi
add ebx, edi
and edi, 0x5c48a22a
rol edi, 0xb
sub esi, edx
add edx, ebx
jmp 0x50223b
mov dword [esp + 0x14], ecx
add esi, ebx
or esi, edi
bswap ebx
not esi
and edi, edx
sub edi, 0x5c49b0bc
xor esi, ebx
bswap esi
xchg ebx, edi
dec edi
ror esi, 2
and esi, edi
jmp 0x503ef4
mov ecx, dword [ecx]
bswap esi
xchg ebx, edi
sub ebx, edi
mov esi, edi
mov esi, ebx
add edx, esi
and edi, ebx
not edx
jmp 0x5022bb
mov dword [esp + 0x14], ecx
mov edi, edx
sub edx, 0x5c51584e
xchg esi, ebx
dec esi
ror edx, 0x12
dec edi
ror esi, 0x18
xor edi, edx
mov edx, 0x5c521f54
add edx, esi
xor edi, 0x5c525378
and ebx, edx
jmp 0x50363d
add dword [esp + 0x7c], 4
xor edx, esi
xchg ebx, esi
dec edi
and esi, ebx
xor edx, ebx
add edi, esi
mov edx, edi
or edx, edi
jmp 0x504070
mul ecx
add edi, 0x5c5a29d2
sub esi, edx
xor esi, edi
or edi, 0x5c5a7d54
sub edx, esi
xor edx, esi
shr ebx, 0x11
xor esi, edx
jmp 0x503212
add ecx, dword [esp + 0x64]
and esi, ebx
inc edx
xchg ebx, edi
xor edi, ebx
rol edx, 3
sub edx, edi
jmp 0x504f39
mov dword [esp + 0x54], ecx
sub edx, edi
mov edi, esi
xor edx, esi
xor ebx, 0x5c66da0a
add ebx, edx
sub esi, edx
bswap edx
or ebx, esi
or edi, esi
xor edi, 0x5c678f66
jmp 0x503dd6
mov dword [esp + 0x58], eax
xchg edx, edi
mov edi, 0x5c6bca54
ror edx, 7
mov ebx, edi
xor edi, 0x5c6c1ae2
add edi, 0x5c6c3b08
and edx, ebx
inc edi
xor edx, ebx
dec esi
mov esi, 0x5c6cc394
dec edx
jmp 0x504c95
ret
jne 0x5051fb
mov esi, edi
xor ebx, esi
dec ebx
dec ebx
dec edx
dec edx
ror ebx, 0xd
xor esi, edi
xchg esi, edi
add ebx, edi
add edx, ebx
or edx, edi
jmp 0x505505
mov ecx, dword [ecx]
shl edi, 9
ror edx, 0x1d
sub esi, edx
xor esi, edx
not esi
not esi
jmp 0x504be8
mov ecx, dword [ecx]
bswap edi
xor edi, 0x5c84a81c
xor esi, 0x5c84c4d0
mov edi, 0x5c84e5aa
xchg ebx, edx
sub edx, esi
sub ebx, 0x5c85326c
xor ebx, edx
shl ebx, 5
and ebx, esi
jmp 0x504897
movzx ecx, word [ecx]
or esi, edi
or ebx, esi
shl edx, 0x1d
and edx, 0x5c92a994
neg ebx
inc edi
jmp 0x5023fd
mov ecx, dword fs:[ecx]
or edi, edx
and esi, 0x5c98d6f4
dec ebx
and ebx, edi
mov ebx, edx
rol edx, 0x1b
xchg edx, ebx
xor ebx, 0x5c997b5c
shl edi, 9
mov edi, ebx
xor ebx, edi
xchg edi, ebx
jmp 0x504092
mov ecx, dword [ecx]
sub edx, 0x5c9b561a
xor ebx, esi
or edi, esi
inc esi
jmp 0x5033fa
mov dword [esp + 0x7c], 0
or edi, esi
or edx, esi
bswap ebx
or edx, edi
xchg edi, edx
sub edx, 0x5c9d3e58
xor ebx, esi
mov edx, esi
mov ebx, edi
mov ebx, edx
xchg edx, ebx
add ebx, esi
xchg ebx, edx
xor esi, edi
jmp 0x50322e
mov ecx, dword [ecx]
sub edi, esi
shl edx, 0xc
and ebx, edi
or esi, 0x5c9fa5fc
and edi, edx
and esi, edi
jmp 0x504b88
inc ecx
mov ebx, esi
and esi, ebx
dec esi
sub ebx, edi
sub edx, ebx
shr edi, 0x18
jmp 0x503b5d
mov dword [esp + 0x7c], ecx
sub edx, esi
mov edi, edx
xchg edx, esi
bswap edx
not ebx
or edi, ebx
jmp 0x50449e
add dword [esp + 0x14], eax
inc ebx
xor ebx, edx
sub esi, edi
mov edx, 0x5ccb9f76
xchg esi, ebx
xor ebx, edi
dec edx
dec edx
jmp 0x5040fe
mov dword [esp + 0x64], 0
xor ebx, esi
mov edx, esi
mov ebx, edi
sub edx, esi
jmp 0x50511f
add dword [esp + 0x14], ecx
xor esi, edi
or edi, ebx
mov ebx, edx
add ebx, 0x5cd270b0
and esi, edi
add esi, ebx
bswap esi
and edi, esi
jmp 0x5053e3
sub esp, 0xb0
ror edi, 0x12
add edx, esi
add ebx, 0x5cd77b90
dec edi
xor esi, edx
xchg edx, edi
xchg ebx, esi
and edx, esi
jmp 0x5044ce
mov dword [esp + 0x64], ecx
sub edi, esi
xor edi, esi
sub edi, ebx
xor edi, ebx
or edi, edx
inc edx
jmp 0x50362d
xor eax, eax
or edx, esi
or edi, ebx
add esi, 0x5ce0788e
xchg edx, ebx
jmp 0x5051fb
rol eax, 8
xchg ebx, edi
xchg ebx, edi
dec edx
add edi, edx
jmp 0x502d54
mov dword [esp + 0x14], ecx
mov esi, 0x5ce5ba86
ror ebx, 0x19
add esi, ebx
mov edx, esi
and ebx, 0x5ce629c0
mov esi, edx
and edi, 0x5ce65af0
dec edx
jmp 0x50444d
mov ecx, dword [esp + 0x64]
bswap ebx
sub edx, edi
jmp 0x50403e
mov ecx, dword [esp + 0x64]
sub edx, edi
mov edi, esi
or ebx, esi
add esi, edx
not edi
rol edi, 0x13
dec edx
and edx, ebx
neg edx
and edi, esi
jmp 0x5032f9
mov ecx, dword [ecx]
and edx, esi
xchg esi, edi
and ebx, edx
and edx, ebx
sub edx, edi
sub ebx, esi
and edi, ebx
xchg ebx, esi
xor edi, 0x5cf00142
xchg edx, esi
jmp 0x504717
add esp, 0xb0
xor ebx, edx
and edi, edx
add edx, 0x5d0bdf00
add esi, 0x5d0bffda
xor edi, ebx
xor edi, esi
not esi
not esi
not edi
ror edi, 0x1f
jmp 0x50266c
cmp byte [ecx], 0
jmp 0x502686
add dword [esp + 0x14], 4
sub edi, esi
add ebx, 0x5d1a5ee8
xor esi, edx
mov ebx, esi
and edi, esi
rol ebx, 0x1d
ror edi, 4
sub edi, esi
jmp 0x504dbf
inc dword [esp + 0x58]
or edx, ebx
ror edi, 7
shl edi, 3
and edx, 0x5d1e273a
xor ebx, edi
and esi, edi
mov esi, ebx
xchg ebx, edx
jmp 0x50234c
mov ecx, 0x30
and ebx, esi
and ebx, edi
and edi, ebx
bswap edi
add edi, 0x5d28044a
add ebx, esi
shr edx, 4
or esi, ebx
or esi, edx
xchg edx, ebx
sub edi, 0x5d28a714
inc edi
jmp 0x502bc4
add dword [esp + 0x14], 0x78
xor ebx, edx
and edi, edx
sub esi, ebx
add edx, esi
jmp 0x5045f9
add ecx, 0x3c
not edx
xchg ebx, edi
add edi, edx
or edx, ebx
ror edi, 1
or edx, esi
bswap ebx
add ebx, 0x5d3b2c18
ror esi, 0xe
and esi, 0x5d3b6512
or edi, 0x5d3b7e54
not edx
inc ebx
shr ebx, 0x16
jmp 0x504ac1
mov ecx, dword [esp + 0x7c]
inc edi
neg edx
dec ebx
and esi, ebx
add ebx, edx
xor edx, edi
bswap edx
shr edi, 0xa
dec esi
sub esi, 0x5d3cef52
jmp 0x50451e
add ecx, 0xc
xchg esi, edx
xchg edx, ebx
sub edi, 0x5d3d471e
xor esi, edi
and edx, esi
add esi, edx
or ebx, edx
xchg ebx, edi
jmp 0x5036aa
mov ecx, dword [esp + 0x14]
add edi, edx
or edx, ebx
and esi, ebx
bswap ebx
dec edi
add ebx, 0x5d3e76c2
add ebx, esi
xchg edx, edi
inc edx
mov esi, edx
mov edx, edi
sub esi, edx
jmp 0x504416
mov ecx, dword [esp + 0x14]
shl ebx, 0xb
and ebx, esi
add edx, esi
sub edx, esi
xor ebx, edi
or ebx, edx
mov ebx, esi
xchg edx, edi
add edx, esi
mov edx, 0x5d4176ba
xchg ebx, edi
bswap edi
jmp 0x5028de
add ecx, dword [esp + 0x64]
bswap esi
dec ebx
sub esi, 0x5d4fb8a4
or edi, edx
jmp 0x501edc
mov ecx, dword [ecx]
shl esi, 0x11
and edx, ebx
neg edx
or edi, esi
shr esi, 0x1e
neg esi
or ebx, edx
mov ebx, esi
and edi, esi
and ebx, esi
jmp 0x5024a7
mov ecx, dword [esp + 0x7c]
mov ebx, esi
or edi, esi
sub edi, ebx
or ebx, edi
jmp 0x50453a
mov ecx, dword [ecx]
xchg esi, edi
or esi, edx
sub edx, edi
nop
not edi
sub edi, esi
xchg edx, ebx
sub edx, 0x5d5cda68
xor ebx, esi
sub edi, ebx
jmp 0x504d5c
mov eax, 2
ror edx, 0x17
sub ebx, edi
sub edx, ebx
or esi, edi
sub esi, ebx
bswap ebx
jmp 0x5050b2
mov dword [esp + 0x58], 0
mov ebx, edx
add edx, 0x5d5eaa3c
and esi, ebx
mov edx, esi
mov ebx, edi
mov ebx, edx
sub ebx, edi
sub esi, edx
add ebx, esi
xor esi, ebx
bswap esi
or esi, ebx
rol edx, 0x15
xor edx, 0x5d5fe4c4
jmp 0x502c45
mov ecx, dword [ecx]
or ebx, edi
xchg esi, edi
rol edx, 0x10
sub edx, ebx
or edi, 0x5d615e12
xchg ebx, esi
not edi
sub ebx, edi
jmp 0x5042f0
add ecx, dword [esp + 0x58]
and ebx, edx
or ebx, 0x5d61f346
sub ebx, esi
or esi, ebx
not edx
inc ebx
not esi
add edi, 0x5d6298f6
inc edx
add edi, esi
jmp 0x505060
mov ecx, dword [esp + 0x64]
sub edi, edx
sub edx, 0x5d67dc58
xor ebx, esi
shl edx, 0x11
jmp 0x50218f
add ecx, dword [esp + 0x64]
xor esi, ebx
and ebx, edx
xor edx, 0x5d6cb7de
sub edi, 0x5d6cd0ec
sub esi, edi
rol ebx, 0xd
and edi, ebx
xchg ebx, esi
xchg edi, ebx
sub edx, ebx
not esi
mov edi, 0x5d6da87c
jmp 0x502fee
add ecx, 0xc
mov esi, 0x5d700ac8
xchg edx, edi
add edi, esi
or edi, ebx
dec ebx
xchg ebx, edi
jmp 0x502c95
add ecx, 0x18
mov edx, 0x5d7b3a50
and ebx, edi
sub esi, edx
xchg edx, esi
and esi, 0x5d7ba8c2
or edi, 0x5d7bc5d0
mov edx, esi
or ebx, edi
jmp 0x502c0d
mov ecx, dword [ecx]
and edx, ebx
and edx, esi
not edi
xor edi, 0x5d8d636e
dec edi
mov esi, edi
jmp 0x5021af
mov ecx, dword [ecx]
and ebx, 0x5d90fb24
mov ebx, edi
add esi, 0x5d913390
or edx, esi
jmp 0x5046a7
mov ecx, dword [ecx]
xor edi, 0x5d93c254
sub ebx, 0x5d93e2d4
xchg edx, esi
ror edi, 8
jmp 0x502958
add ecx, dword [esp + 0x64]
and ebx, 0x5d96c9be
or esi, ebx
shl esi, 7
xchg edi, edx
inc edx
or esi, ebx
add edx, esi
bswap ebx
dec edi
bswap edx
jmp 0x503a12
mul ecx
sub edi, edx
or esi, ebx
bswap esi
xor ebx, edi
inc esi
mov ebx, esi
jmp 0x50263c
sub dword [esp + 0x14], 8
mov esi, edx
shr ebx, 6
mov ebx, 0x5d9da2b4
and ebx, esi
sub edx, ebx
and edi, esi
and ebx, edi
sub esi, 0x5d9e269c
neg ebx
add edx, 0x5d9e5fe0
xchg edi, edx
sub esi, ebx
jmp 0x501f69
add ecx, dword [esp + 0x64]
rol ebx, 0x1a
mov esi, edx
and edx, edi
not esi
inc edx
sub esi, edi
add edi, ebx
sub esi, edx
jmp 0x50356e
mov ecx, dword [esp + 0x14]
nop
and edi, ebx
and esi, edx
neg ebx
and edi, edx
and esi, edi
xchg edx, edi
add edx, esi
sub esi, 0x5da9986a
shr esi, 0x1e
sub esi, edx
neg ebx
jmp 0x504b38
mov dword [esp + 0x7c], ecx
mov esi, edx
or ebx, edi
xchg edi, ebx
and edx, edi
nop
xchg esi, ebx
and edx, esi
xor ebx, edi
sub edx, esi
inc ebx
or edx, edi
sub edi, 0x5db58c5c
jmp 0x503c78
mov eax, 4
not edx
and edi, 0x5dbdb6dc
sub edx, edi
shl ebx, 0x13
jmp 0x502b03
mov ecx, dword [esp + 0x58]
sub esi, 0x5dbf9ad0
and ebx, edx
mov edx, ebx
shl ebx, 0xc
mov edx, 0x5dc0035a
or esi, edx
jmp 0x504c0b
mov dword [esp + 0x14], 0
rol edi, 0xc
or edx, ebx
and edx, ebx
shr edi, 0x11
shl edi, 5
or ebx, edx
jmp 0x502587
xor al, byte [ecx]
add edx, ebx
mov edi, edx
or ebx, 0x5dc8283c
and ebx, 0x5dc845d6
add ebx, edi
xchg esi, edx
and esi, edx
rol edi, 6
and ebx, esi
shr edx, 0xa
or edi, 0x5dc8f8f6
add edi, ebx
jmp 0x503535
add dword [esp + 0x14], 0x20
shl edx, 0x11
xchg edi, ebx
jmp 0x5040ae
cmp eax, dword [esp + 0x54]
jmp 0x501c7f
pop ecx
or edx, 0x5de19660
add edi, edx
add edi, 0x5de1cb6a
shr edi, 0x1b
xchg ebx, edx
and ebx, 0x5de21ec6
ror edi, 0x1c
dec edi
jmp 0x505437