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

Disassembly:
mov ecx, dword [ecx]
mov ebx, edi
shl ebx, 0x10
sub edx, edi
xchg edi, edx
mov esi, edi
or edx, 0x735d4
xor edi, edx
sub edi, edx
jmp 0x50374b
add ecx, dword [esp + 0x18]
or edi, edx
sub edi, esi
xor edi, 0x1d3216
xchg esi, edx
add edx, ebx
xchg esi, ebx
xor edx, edi
xor ebx, esi
and esi, edi
sub edx, edi
jmp 0x50389f
add ecx, dword [esp + 0x2c]
rol ebx, 1
xor esi, edx
xchg ebx, esi
mov edx, edi
ror esi, 0x1d
xchg edx, edi
mov esi, edi
inc edi
jmp 0x5032d2
cmp byte [ecx], 0
jmp 0x503b5e
xor eax, eax
and edx, edi
and edx, esi
ror edi, 0xe
sub edx, ebx
rol edx, 0xf
or esi, edx
add edi, esi
xor edi, ebx
jmp 0x501b2a
xor al, byte [ecx]
and esi, ebx
sub edx, ebx
and ebx, edi
and ebx, 0x236ea5
mov ebx, edi
or esi, edi
xchg esi, edx
mov esi, 0x244d79
inc edi
jmp 0x501f38
cmp eax, dword [esp + 0x6c]
jmp 0x502e8b
mov dword [esp + 0x18], eax
dec ebx
xchg edi, ebx
not edx
nop
xor esi, ebx
xor esi, edi
sub edx, esi
and esi, edi
sub esi, edi
jmp 0x502734
add ecx, dword [esp + 0x2c]
xor edx, ebx
sub esi, ebx
mov esi, edi
shl esi, 2
add edi, esi
xor ebx, edx
and edx, ebx
shr edi, 2
ror edx, 0xa
jmp 0x5039aa
pop ecx
or edx, edi
bswap ebx
or edi, 0x3f1d67
or esi, 0x3f59ba
and esi, edx
and edi, edx
rol ebx, 0x11
jmp 0x501b49
movzx ecx, word [ecx]
or edi, ebx
xchg esi, ebx
sub edx, esi
and edi, edx
xchg esi, edx
shl edx, 6
mov edx, 0x4e6806
neg edx
mov edx, esi
xchg edx, esi
sub ebx, edx
mov ebx, edi
add edi, esi
xchg edx, edi
mov edx, 0x504c38
and esi, edi
jmp 0x503905
add ecx, 0x3c
or edi, 0x565b0c
inc edx
xchg ebx, esi
add ebx, esi
xor ebx, edx
add esi, edi
dec edx
mov edx, edi
or edx, edi
and esi, edx
mov ebx, esi
mov edx, ebx
sub edi, 0x5929e3
add edx, edi
xor esi, edi
and ebx, edi
jmp 0x502795
mov ecx, dword [ecx]
or edi, ebx
mov ebx, 0x61d019
add edx, ebx
xchg esi, edi
xchg ebx, edi
xor esi, ebx
bswap esi
mov ebx, edx
add edi, esi
sub ebx, edi
mov edi, ebx
jmp 0x502594
mov ecx, dword [ecx]
shl edx, 6
xchg esi, ebx
xor ebx, edx
and edx, esi
xchg ebx, edi
xchg edi, edx
ror edx, 0x1c
jmp 0x501fc3
rol eax, 8
rol ebx, 0xb
xor edx, 0x6d09b0
shl ebx, 4
mov edx, ebx
jmp 0x502b8d
mov dword [esp + 0x34], ecx
xchg ebx, esi
mov esi, edx
xchg esi, edi
sub edx, esi
neg edx
mov edx, 0x76ba76
xchg esi, ebx
xchg edx, esi
jmp 0x502154
mov ecx, dword [esp + 0x2c]
and edx, ebx
mov edx, 0x90386d
sub edx, ebx
and ebx, esi
or esi, ebx
and edi, edx
or edi, esi
xchg edi, ebx
or edi, ebx
xchg esi, ebx
ror esi, 0xa
or ebx, edi
jmp 0x504747
mov dword [esp + 0x34], ecx
sub esi, 0x9c6d06
sub esi, edx
sub edi, edx
xchg edx, esi
xchg esi, edi
xor edx, esi
mov ebx, 0x9dd356
or edx, edi
sub ebx, edi
shl ebx, 0x14
jmp 0x50246b
add dword [esp + 0x34], eax
xchg edi, ebx
xchg edx, esi
mov ebx, esi
rol edi, 0x19
xchg esi, edi
or edi, edx
xor edx, esi
mov edi, esi
rol edx, 0x11
xchg ebx, edx
xor esi, edx
jmp 0x503166
mov ecx, 0x30
sub ebx, edx
shl edx, 0x11
add edx, ebx
dec esi
or esi, edx
and ebx, 0xac69b1
or edi, ebx
or edi, 0xace11f
add esi, ebx
add edx, 0xad56f3
xor esi, ebx
nop
jmp 0x502511
mov ecx, dword [ecx]
sub ebx, edi
shr ebx, 0xc
sub ebx, edi
xchg edi, esi
xor edi, edx
or esi, edi
sub ebx, esi
xor ebx, edx
not ebx
ror esi, 0x12
inc ebx
xchg edi, edx
sub edx, esi
jmp 0x501b71
mov ecx, dword [esp + 0x24]
and edi, 0xc5eece
xor edi, edx
xor edx, esi
shl esi, 5
or edx, ebx
add edi, ebx
or edx, ebx
mov ebx, esi
sub edi, 0xc7d253
xor edi, esi
mov ebx, esi
add ebx, esi
add edx, esi
or edx, 0xc8f8a4
rol ebx, 0xe
inc edi
jmp 0x501ac8
inc dword [esp + 0x18]
and ebx, 0xc9c066
rol edx, 7
dec edx
and edx, esi
not edi
or edi, ebx
inc ebx
or ebx, edi
not ebx
jmp 0x504a4a
mov dword [esp + 0x2c], ecx
sub ebx, esi
and esi, edx
xchg edi, esi
sub esi, edi
add esi, 0xcceb83
add edi, 0xcd26db
and ebx, 0xcd6543
xchg edx, ebx
xchg edi, ebx
rol esi, 0x14
sub edi, ebx
not ebx
jmp 0x503b75
add ecx, 0xc
or esi, edx
xor esi, 0xcf5913
inc edx
xchg edi, esi
xor edx, edi
dec esi
ror edi, 3
sub edi, esi
jmp 0x504ae2
mov ecx, dword fs:[ecx]
mov edi, esi
and ebx, edx
sub edi, ebx
shr esi, 0x17
add edi, 0xd20683
mov esi, edx
xchg ebx, esi
sub edi, edx
add edx, 0xd2ff97
shl edi, 0xa
and ebx, edi
xor esi, edx
or ebx, edi
inc edx
xor edx, esi
jmp 0x5024f6
mov ecx, dword [ecx]
not ebx
xor ebx, esi
or edi, ebx
add ebx, 0xd56499
and edx, ebx
xchg ebx, esi
not edx
xchg esi, ebx
or ebx, esi
shr edx, 0x1b
add ebx, esi
or edx, ebx
inc esi
add edi, edx
jmp 0x5024c5
mov dword [esp + 0x24], ecx
or ebx, 0xd83530
sub edx, edi
sub edi, edx
add edx, edi
add edx, 0xd92a21
ror edi, 0x13
not edi
xor edx, esi
and ebx, 0xda21de
sub esi, edi
jmp 0x5024a4
add ecx, dword [esp + 0x2c]
mov edx, esi
sub esi, edx
and edi, 0xdb26e0
sub edx, ebx
mov edx, ebx
jmp 0x502206
sub dword [esp + 0x34], 8
mov edi, esi
mov edx, edi
xchg edx, ebx
or edi, edx
neg edi
or edx, 0xf85482
xchg ebx, edi
add ebx, esi
ror esi, 0x1e
neg edi
nop
jmp 0x504365
mov ecx, dword [ecx]
not esi
add edx, 0xfe1e45
sub edi, 0xfe5cd3
xor esi, ebx
ror edi, 0xa
jmp 0x5046a8
mov dword [esp + 0x2c], 0
and esi, ebx
xor esi, 0x11a2ee8
sub esi, ebx
jmp 0x5046f5
mov ecx, dword [ecx]
sub edx, 0x12d2106
and esi, ebx
sub esi, edi
rol ebx, 0xf
add edi, edx
or edi, ebx
mov edi, edx
mov esi, ebx
rol ebx, 0x17
add esi, edx
mov ebx, edi
xor edi, ebx
xchg edi, ebx
bswap esi
xor edi, 0x1306c72
jmp 0x504b17
mov eax, 2
xor edi, ebx
xchg edx, edi
xchg edi, ebx
inc esi
or edi, 0x13f283a
and edx, esi
sub esi, edi
neg edx
rol edx, 3
and edi, 0x14059de
bswap esi
jmp 0x503a79
mov ecx, dword [esp + 0x24]
sub edi, edx
or ebx, edx
mov edi, ebx
mov ebx, edi
add ebx, 0x141edca
mov esi, ebx
inc esi
xor esi, edx
add edx, edi
bswap esi
or edi, ebx
sub ebx, 0x1438007
jmp 0x502cde
mov ecx, dword [esp + 0x34]
sub edi, edx
xor edi, esi
or edx, edi
xor ebx, esi
or esi, 0x144b0a7
mov esi, edx
mov esi, edx
and esi, ebx
add edx, ebx
ror esi, 3
rol edi, 0x10
or esi, 0x1464db1
sub edi, edx
sub esi, edx
bswap ebx
xor ebx, edx
jmp 0x502a11
inc ecx
ror esi, 8
sub edi, esi
or edi, edx
and edx, edi
bswap edx
xor edx, 0x148ad91
rol edi, 0x18
shr ebx, 0x11
or ebx, edx
sub ebx, 0x149965d
and edx, 0x149d377
jmp 0x501b09
ret
mov ecx, dword [ecx]
xchg esi, edx
add ebx, esi
xchg esi, edi
mov esi, edx
or edx, 0x15fa0b8
and esi, edx
shr esi, 3
add esi, edx
xor esi, edx
and edx, ebx
jmp 0x50438f
jne 0x5024a4
neg edx
shl edx, 8
sub edi, esi
xor ebx, edi
xor edi, ebx
and edx, edi
jmp 0x50305f
add dword [esp + 0x34], 4
sub ebx, edi
nop
not edi
shl esi, 0xd
dec edx
or ebx, 0x19c02cf
or edx, ebx
and edi, esi
mov edx, ebx
shr edx, 0x1c
xchg edi, edx
xchg edx, ebx
shl edi, 0x11
mov edi, esi
jmp 0x503a3c
add ecx, dword [esp + 0x34]
and edi, ebx
not edi
inc ebx
xchg edx, esi
or esi, edi
shr ebx, 0x1d
or edi, esi
bswap edi
sub edi, ebx
and edi, esi
jmp 0x501ee5
mov ecx, dword [esp + 0x34]
ror esi, 0x1d
mov edx, 0x1ae817b
and edx, ebx
add esi, ebx
ror ebx, 8
or edx, esi
sub esi, ebx
sub edx, 0x1afe2ab
xchg edx, esi
jmp 0x502385
add ecx, 0xc
add ebx, edi
inc edx
sub esi, edx
neg edi
nop
dec esi
add edx, 0x1b80b9f
xchg edx, edi
neg edi
or edx, edi
jmp 0x503a5a
mov dword [esp + 0x24], ecx
sub edi, esi
or ebx, esi
jmp 0x502b04
add dword [esp + 0x34], 0x20
mov ebx, esi
or esi, ebx
inc edi
mov esi, ebx
jmp 0x502b57
mov ecx, dword [esp + 0x2c]
neg esi
mov ebx, esi
or edx, edi
or ebx, edi
ror ebx, 0x13
xor edi, edx
inc ebx
and edi, ebx
shr edx, 0x1b
jmp 0x5030b6
mov ecx, dword [ecx]
mov edx, ebx
or edx, edi
add ebx, esi
add ebx, esi
add esi, edi
xor esi, 0x2196ae7
add edx, ebx
or ebx, esi
xor edi, esi
add edi, ebx
jmp 0x504ceb
mov eax, 4
add edx, ebx
or esi, edi
xor ebx, esi
add esi, edx
mov ebx, 0x239ac1e
sub ebx, edi
mov edi, ebx
xor ebx, edx
jmp 0x501d85
mul ecx
inc esi
or esi, 0x23fcc1d
shl edx, 0xd
sub edx, ebx
and esi, edi
neg esi
xor esi, 0x240fbfb
xchg ebx, esi
add ebx, esi
shr ebx, 1
add esi, 0x241f50f
mov edx, ebx
mov ebx, esi
xchg edi, esi
and ebx, edx
xor edx, ebx
jmp 0x50227d
add esp, 0x80
and esi, edi
inc ebx
xchg ebx, edi
xchg edx, esi
jmp 0x502bb8
mov ecx, dword [esp + 0x34]
neg edi
add edi, 0x258489c
or ebx, edx
not esi
add esi, edx
xor esi, ebx
and edi, ebx
jmp 0x504ec1
mov ecx, dword [ecx]
or edx, ebx
xchg esi, edi
or ebx, 0x25a6767
sub ebx, 0x25ac5a6
add edx, esi
and esi, edx
not edi
xchg esi, ebx
jmp 0x501974
mov ecx, dword [esp + 0x18]
sub esi, edx
bswap ebx
add edx, 0x25c93db
xchg ebx, edi
and esi, ebx
xor edi, esi
mov esi, 0x25d869c
and edi, esi
sub edx, 0x25dfc87
sub ebx, edx
add edx, edi
add ebx, esi
rol edx, 0x1c
and ebx, edx
jmp 0x505002
mov dword [esp + 0x24], 0
and edi, edx
xchg ebx, edx
dec ebx
and edx, edi
xor edx, ebx
xor edx, ebx
add esi, 0x2661eb8
xor edi, ebx
not edx
jmp 0x5028fc
jne 0x501b2a
xor esi, edi
mov edi, 0x26bcf09
rol ebx, 0x1d
or esi, ebx
jmp 0x501cca
mov ecx, dword [esp + 0x2c]
xchg esi, ebx
mov ebx, esi
xor edi, edx
mov edx, 0x26d47ee
neg ebx
mov edx, ebx
xchg edi, edx
sub esi, 0x26e3ddc
and edx, edi
shr edx, 0xc
jmp 0x501dfd
push ecx
xchg edx, edi
or edx, 0x2825f3b
mov edi, 0x282984b
xchg ebx, edx
and esi, edx
or ebx, esi
jmp 0x501b11
mov ecx, dword [esp + 0x34]
or esi, edi
sub esi, edx
neg edi
add esi, 0x2fe1dc3
xchg edx, edi
bswap ebx
xchg edi, esi
or ebx, edx
mov edx, ebx
or edi, 0x2ff8017
and ebx, edx
jmp 0x501e9e
add ecx, dword [esp + 0x2c]
xor edx, ebx
shr esi, 7
mov edi, edx
and esi, edi
jmp 0x503c9c
mov dword [esp + 0x34], ecx
add ebx, 0x33816ca
xor ebx, 0x3385274
and esi, ebx
jmp 0x504dec
mov dword [esp + 0x34], 0
mov edi, 0x33c0a38
sub edi, esi
xchg edi, esi
or edx, edi
or edi, edx
or edx, edi
or esi, ebx
or esi, edx
mov edx, ebx
ror ebx, 0x1b
jmp 0x5051be
add dword [esp + 0x34], ecx
xchg edi, edx
add esi, ebx
inc ebx
or edx, esi
rol ebx, 0xb
sub esi, edi
xor esi, 0x3439054
nop
mov ebx, edx
inc ebx
sub edx, 0x3447e13
ror esi, 0xc
mov edi, esi
jmp 0x503402
mov dword [esp + 0x18], 0
mov ebx, edi
mov ebx, edi
shl esi, 3
mov ebx, edx
rol esi, 0x1c
shr edi, 0xb
sub edx, edi
jmp 0x503aeb
add dword [esp + 0x24], 4
mov edx, ebx
xor edx, 0x37866c5
and edx, ebx
and edx, 0x378e7a0
mov esi, 0x37923a4
xchg edi, esi
or ebx, edx
or ebx, 0x37a6575
mov esi, edx
bswap edi
xchg edx, edi
jmp 0x502b2c
mov ecx, dword [ecx]
xor edi, 0x3830286
not edi
mov edi, esi
xor edi, ebx
xor edx, esi
mov ebx, 0x38428b2
add ebx, edi
inc edi
jmp 0x5031df
add ecx, dword [esp + 0x2c]
and esi, ebx
or ebx, edx
add esi, edi
xor ebx, edx
rol esi, 0x11
neg edx
not ebx
bswap esi
xchg ebx, edx
or esi, edx
jmp 0x502567
add ecx, 0x18
and ebx, 0x3aac5f8
add ebx, esi
or ebx, 0x3ab38ba
xor edi, esi
or edx, ebx
dec esi
add edi, ebx
xchg edx, edi
bswap edx
bswap esi
add edi, 0x3ad1ed8
jmp 0x502540
add dword [esp + 0x34], 0x78
mov esi, 0x3bd0314
or ebx, edx
inc edx
sub edi, ebx
xchg edi, edx
add esi, edx
xor edx, edi
add edi, edx
mov edi, ebx
ror edx, 0xf
jmp 0x5035b1
mov ecx, dword [ecx]
sub edx, edi
shl edx, 7
mov edi, ebx
or esi, 0x3cd75f7
shl edi, 7
xchg ebx, edx
and esi, 0x3ce2b00
sub ebx, edx
xor esi, 0x3cead3f
and edi, esi
sub ebx, esi
dec edx
and esi, 0x3cf9d93
jmp 0x501aec
mul ecx
neg esi
and edi, esi
add esi, edi
inc ebx
jmp 0x501b55
mov dword [esp + 0x6c], ecx
rol ebx, 0x1a
sub esi, edx
inc esi
xor edi, 0x4023400
not edx
and edi, esi
mov edi, edx
or edx, ebx
rol ebx, 8
xchg edx, esi
sub esi, edx
jmp 0x5022e5
sub esp, 0x80
neg edx
xor esi, edx
xchg ebx, esi
neg ebx
xor edi, edx
inc edx
sub ebx, edi
jmp 0x5047eb