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

Disassembly:
sub esp, 0x154
add edx, esi
and edx, ebx
xchg esi, ecx
and edx, esi
xchg esi, ebx
dec ecx
xor ecx, 0xfebc411
not edx
rol ecx, 5
mov ebx, ecx
jmp 0x474da0
cmp byte [edi], 0
jmp 0x475841
mov edi, dword [esp + 0x14]
sub edx, ebx
rol edx, 9
sub edx, esi
or edx, esi
and esi, 0x100f2eb9
mov edx, 0x100f6d7b
sub esi, ebx
sub ecx, ebx
jmp 0x475194
mov edi, dword [esp + 0xc0]
xor edx, esi
mov esi, ecx
or esi, edx
and ebx, ecx
or ecx, ebx
shl ecx, 0xd
mov ebx, ecx
add ebx, ecx
jmp 0x476824
mov eax, 4
sub ecx, ebx
shr edx, 0x15
sub ecx, esi
sub ecx, esi
inc esi
or esi, edx
jmp 0x4767d2
add edi, dword [esp + 0x88]
add ecx, 0x10200bc5
xor ebx, esi
bswap esi
xor esi, ecx
rol ecx, 3
xor edx, ecx
mov esi, edx
mov ecx, edx
jmp 0x475624
mov dword [esp + 0x14], 0
bswap edx
mov ebx, ecx
or edx, esi
xchg ecx, edx
and ebx, edx
bswap edx
xchg esi, ebx
xchg ecx, esi
dec ebx
xor edx, ecx
xor esi, ecx
xchg ebx, esi
add edx, ecx
add ebx, 0x10493ec9
jmp 0x47688c
mov dword [esp + 0xc0], 0
inc ebx
mov esi, ebx
inc ecx
rol esi, 0x11
and ecx, esi
sub ebx, 0x10613d7d
sub edx, ebx
or esi, ecx
bswap ecx
add ebx, 0x10624df5
xor ecx, esi
xor edx, ebx
jmp 0x4760c9
mov dword [esp + 0x84], edi
inc esi
and edx, esi
sub ecx, ebx
mov esi, ebx
not esi
rol edx, 0x18
xor edx, 0x106a5d7b
xchg edx, ecx
or ecx, 0x106aee9b
add ecx, ebx
nop
not esi
jmp 0x477b79
add edi, 0x3c
sub edx, ebx
xor edx, ebx
and ecx, esi
and ecx, 0x107d0e81
xchg edx, ebx
or esi, 0x107d9013
neg esi
and esi, edx
mov edx, ebx
xchg ecx, esi
jmp 0x477886
add edi, dword [esp + 0x14]
sub ecx, ebx
nop
or esi, 0x108b268b
dec ebx
rol esi, 0xa
xor ebx, esi
sub ebx, esi
xchg edx, esi
xchg ecx, ebx
add edx, ebx
jmp 0x4773a2
mov edi, dword [esp + 0x14]
add esi, ebx
dec edx
or ecx, ebx
add esi, 0x10a45399
jmp 0x476c43
push edi
shr edx, 0x17
mov ecx, esi
xchg ecx, edx
sub edx, esi
shr edx, 0xb
dec ebx
sub esi, edx
xchg esi, ecx
neg ebx
sub ecx, esi
and esi, ebx
not esi
add ebx, ecx
xor esi, 0x10a7eda1
jmp 0x477812
mov edi, dword [edi]
mov ebx, edx
sub ecx, ebx
xchg esi, ebx
mov ecx, 0x10aeeab9
sub ebx, esi
or esi, 0x10af68eb
ror edx, 0x1d
and ecx, ebx
inc ecx
mov ecx, esi
mov esi, 0x10b0b597
and ebx, esi
xor edx, esi
bswap edx
bswap esi
sub edx, ecx
jmp 0x477221
rol eax, 8
mov ecx, esi
mov ecx, 0x10cbda4d
xor esi, 0x10cc1aef
and ebx, ecx
add ebx, edx
shl edx, 2
jmp 0x477838
mov dword [esp + 0x84], edi
xchg ebx, ecx
sub edx, ecx
xor ecx, edx
xor edx, 0x10f61a43
inc esi
shl edx, 7
jmp 0x476639
cmp eax, dword [esp]
jmp 0x476948
add esp, 0x154
mov edx, esi
shr ecx, 5
mov edx, ebx
xor ecx, ebx
mov ecx, edx
neg edx
shr esi, 0xb
and ebx, ecx
add esi, ebx
sub ebx, edx
jmp 0x475af1
mul edi
xchg esi, ebx
sub ecx, edx
or esi, ecx
inc esi
shl esi, 0x1a
not esi
xor ebx, esi
xchg esi, ebx
and ecx, 0x112e271f
and ebx, 0x112e67f3
xchg ebx, esi
or ecx, esi
jmp 0x475c16
jne 0x476139
mov edx, esi
ror edx, 0x1b
mov ebx, edx
xor edx, ecx
and esi, edx
inc ecx
xor esi, 0x1157d6f7
sub edx, ebx
jmp 0x4778f9
mov edi, 0x30
not edx
xor ecx, esi
or esi, 0x115d1c95
xchg ebx, ecx
add edx, ecx
bswap esi
add edx, ecx
or esi, ebx
neg ecx
mov ecx, edx
neg ebx
sub esi, edx
xor esi, edx
mov ecx, 0x115fdfef
inc ecx
xor esi, ebx
jmp 0x4770cf
ret
add dword [esp + 0x14], eax
or edx, ecx
ror edx, 0x1b
not ecx
or ebx, esi
add ecx, 0x11be29fd
shr ecx, 7
xchg edx, esi
shr ecx, 0x14
xor ebx, edx
mov esi, ecx
jmp 0x47510a
mov dword [esp + 0x14], edi
sub ecx, edx
add edx, ebx
add edx, esi
nop
or edx, esi
add ecx, 0x11e1f9e9
xor edx, esi
neg edx
bswap edx
xchg esi, edx
mov ecx, ebx
add ecx, esi
jmp 0x47793e
add dword [esp + 0x14], 4
add ecx, edx
sub ecx, ebx
add ecx, esi
sub edx, esi
and edx, esi
shl ebx, 0xb
mov ecx, esi
inc esi
not esi
xor ecx, esi
jmp 0x474967
mov edi, dword [edi]
bswap ebx
xchg ebx, esi
not edx
xor ebx, ecx
add ebx, 0x11ed584f
not ebx
add edx, ecx
mov ebx, esi
xor ebx, esi
mov ebx, 0x11ee9101
jmp 0x476adf
mov edi, dword [esp + 0x88]
or edx, 0x11eee79f
add ecx, edx
add edx, 0x11ef630b
rol ecx, 2
inc ecx
and ebx, 0x11f0369b
jmp 0x474fc9
mov edi, dword [edi]
not ebx
ror edx, 7
and edx, ecx
add ebx, edx
add ecx, esi
and ebx, 0x1207456b
add edx, ecx
shl edx, 0x1a
jmp 0x477328
mov dword [esp + 0x84], 0
xor edx, 0x1222c253
shl ebx, 0x1a
xor ebx, edx
xchg esi, ebx
shr esi, 3
xor edx, ebx
sub ecx, ebx
xchg ecx, esi
xchg ebx, esi
and ebx, esi
jmp 0x476690
xor al, byte [edi]
add edx, ebx
or ebx, ecx
and edx, ebx
bswap ecx
xor esi, 0x122c941d
or ebx, edx
mov ecx, 0x122d0ac1
add esi, ebx
sub ecx, edx
sub esi, ecx
sub ebx, ecx
shr esi, 0xd
jmp 0x475302
add edi, dword [esp + 0x88]
or ebx, esi
mov ebx, edx
ror esi, 0x1d
inc esi
sub ebx, edx
xor ecx, edx
xor esi, 0x12371f85
add esi, ebx
xor edx, esi
not ecx
jmp 0x475121
add edi, 0xc
or ebx, edx
shr ecx, 5
not esi
and ebx, 0x1272d77f
mov ebx, edx
xchg edx, ecx
shr esi, 8
add esi, ecx
sub ebx, 0x12740f55
shl ecx, 0x12
jmp 0x4768a3
mov edi, dword [esp + 0x14]
not edx
xor esi, 0x1289dd7b
sub ecx, ebx
not ebx
jmp 0x475f70
inc dword [esp + 0xc0]
xchg ebx, esi
mov ebx, esi
dec ecx
and ebx, 0x12906037
rol ecx, 0x13
add edx, ebx
jmp 0x47760d
mov dword [esp + 0x88], 0
mov esi, 0x12959c65
shr esi, 0x19
dec edx
sub ecx, ebx
and esi, ecx
or esi, ecx
xchg ebx, ecx
or ebx, ecx
jmp 0x474c62
mov dword [esp + 0x14], edi
neg ebx
and ecx, 0x129b1c9d
or edx, esi
add ecx, ebx
xor ebx, esi
mov esi, edx
xchg ecx, edx
xor edx, ecx
xor esi, edx
or esi, edx
inc ebx
inc ecx
jmp 0x476b75
movzx edi, word [edi]
xor edx, esi
and ebx, edx
xor edx, ecx
and edx, ebx
add ebx, ecx
shr ebx, 3
sub edx, ebx
ror ecx, 0x1d
xor esi, 0x12b07155
mov ecx, ebx
ror ecx, 0x12
or edx, esi
jmp 0x475662
mul edi
and ecx, ebx
add ecx, ebx
and ebx, esi
and ebx, esi
or edx, esi
or ecx, 0x12b5e7e5
shl edx, 0xe
and esi, ecx
rol edx, 0xb
sub ebx, 0x12b6e547
jmp 0x477290
add dword [esp + 0x14], edi
mov ebx, 0x12b86c8b
mov ecx, esi
inc ecx
and esi, ecx
xchg edx, esi
neg edx
mov ebx, ecx
mov edx, ecx
xor esi, 0x12ba6f3b
or esi, ebx
or ebx, ecx
or esi, ebx
mov ebx, ecx
inc ebx
jmp 0x47746b
mov dword [esp], edi
shl ecx, 0x1b
shl esi, 6
ror edx, 0xf
add esi, edx
jmp 0x475896
mov edi, dword [edi]
sub esi, ecx
or ecx, edx
and ecx, esi
or ebx, edx
add edx, ebx
xchg ecx, edx
add esi, 0x12bea2e5
sub ebx, 0x12bee2f3
mov esi, 0x12bf2281
mov edx, ebx
jmp 0x477352
jne 0x476639
xor edx, esi
or ebx, edx
or edx, 0x12ce02c9
rol esi, 2
xchg ecx, esi
or ecx, ebx
add ebx, esi
xchg edx, ebx
shr ecx, 0x1e
sub ecx, ebx
jmp 0x475df9
mov edi, dword [esp + 0x88]
add ecx, ebx
xchg edx, ebx
or edx, 0x12d4bba7
or ebx, 0x12d4fb43
and ebx, esi
and ecx, 0x12d58a39
jmp 0x474f0a
mov edi, dword [edi]
and edx, esi
add ecx, ebx
add edx, ebx
xchg esi, ecx
and ebx, ecx
sub ecx, 0x12ebe8c5
xor ecx, ebx
and edx, esi
add ecx, ebx
add edx, ebx
shr esi, 0x1e
mov ebx, edx
rol esi, 0x1a
or edx, esi
jmp 0x476f81
mov edi, dword [esp + 0x84]
or ebx, edx
xor edx, ebx
mov ecx, edx
ror edx, 6
neg ebx
mov edx, ebx
jmp 0x4778e0
mov edi, dword [edi]
sub edx, esi
dec esi
sub edx, 0x1308eaf9
shr esi, 0x12
neg ecx
add ebx, ecx
add ecx, esi
and edx, ecx
jmp 0x474a69
mov edi, dword [edi]
ror ebx, 0x14
mov ebx, edx
bswap ebx
xor edx, 0x1321b895
add ebx, edx
sub edx, esi
or ebx, ecx
xor edx, ecx
xor ebx, esi
or ebx, 0x13233f67
jmp 0x4761bc
add edi, 0x18
add ecx, edx
or ecx, 0x13484171
bswap ebx
shl ebx, 0xd
xor ebx, 0x134903e7
mov edx, esi
or edx, 0x13497f5f
and ebx, esi
mov edx, esi
xchg edx, ecx
sub edx, esi
or edx, ebx
inc esi
or ecx, edx
ror esi, 0x1d
not esi
jmp 0x4770aa
add edi, dword [esp + 0x88]
ror edx, 9
add edx, ecx
xor ebx, edx
add esi, ecx
bswap ebx
neg esi
jmp 0x4766d3
mov edi, dword [edi]
nop
sub ecx, esi
xor ecx, ebx
and edx, ebx
bswap esi
inc ecx
add ebx, ecx
shr ecx, 8
sub esi, 0x136b35b1
add ecx, 0x136c9579
nop
xor esi, edx
jmp 0x4775f0
mov edi, dword fs:[edi]
xchg edx, ecx
bswap edx
sub ecx, 0x136e03e1
xchg edx, ebx
or edx, ecx
sub ebx, edx
inc ecx
add ebx, esi
rol edx, 0x1f
mov ebx, edx
jmp 0x4764a8
mov edi, dword [esp + 0x14]
and edx, esi
not edx
mov edx, ebx
bswap ebx
add ebx, esi
and ecx, 0x137dd791
nop
mov ebx, esi
jmp 0x477916
mov dword [esp + 0x14], edi
shl edx, 0xf
xor edx, esi
add ecx, 0x137f3b47
xor esi, ecx
shr esi, 0x10
and ecx, edx
and edx, ebx
or edx, 0x13808743
mov ebx, ecx
and ecx, edx
jmp 0x4779a7
add edi, dword [esp + 0x88]
inc edx
add esi, edx
add ebx, edx
xor ebx, esi
add ebx, edx
neg ebx
or ebx, ecx
mov ebx, edx
nop
xor esi, 0x138bc795
jmp 0x474e24
mov dword [esp + 0xc0], eax
bswap ebx
inc ecx
or esi, ebx
shl edx, 0x17
neg ebx
dec ecx
or esi, ecx
mov edx, ebx
shl ebx, 9
shr edx, 0x1d
jmp 0x4777b3
mov edi, dword [edi]
xor esi, ebx
and edx, 0x13955cc1
and edx, ecx
or ebx, edx
xchg esi, edx
shr edx, 9
xor ebx, edx
shr ecx, 0x14
or edx, esi
add ecx, 0x13980f57
jmp 0x475e1a
add edi, dword [esp + 0x88]
and ecx, ebx
xor edx, 0x139feb9d
sub ecx, esi
inc ecx
or esi, edx
or esi, ebx
xchg ecx, edx
add ecx, esi
xor ebx, edx
dec ecx
and edx, 0x13a23615
mov edx, ebx
jmp 0x47538e
add edi, 0xc
mov ebx, edx
bswap esi
sub edx, ebx
ror ebx, 0x1d
jmp 0x4772b1
mov edi, dword [edi]
mov edx, 0x13a9e2cf
xchg ecx, edx
shl esi, 0x14
xor ecx, esi
jmp 0x477188
add dword [esp + 0x14], 0x20
sub esi, 0x13b8c255
xchg ecx, esi
mov esi, edx
sub ecx, edx
mov edx, ecx
sub ebx, ecx
jmp 0x4765dc
mov dword [esp + 0x88], edi
xor esi, ecx
add edx, ecx
mov ecx, esi
or ecx, edx
shl esi, 6
xchg edx, esi
mov edx, ebx
add edx, ecx
jmp 0x476998
add dword [esp + 0x84], 4
mov esi, edx
or ebx, ecx
xor ecx, ebx
sub ebx, 0x13db2f1b
inc esi
shl ebx, 0x19
neg edx
mov edx, esi
xor ebx, esi
add edx, ecx
sub ecx, esi
bswap esi
dec ebx
xor esi, ebx
jmp 0x4776a4
mov edi, dword [esp + 0x84]
xor esi, ecx
or ecx, ebx
and ebx, 0x13e77d61
xor edx, 0x13e7be3d
xchg ecx, edx
and ebx, ecx
add ebx, ecx
add ecx, 0x13e8cab7
neg ebx
add ebx, ecx
xor esi, edx
ror edx, 0xf
jmp 0x476d8e
sub dword [esp + 0x14], 8
and ecx, ebx
xor ecx, esi
sub ebx, 0x13fc2311
shl esi, 0xe
xor esi, 0x13fca4f1
mov ecx, 0x13fce4cf
rol esi, 3
mov ecx, 0x13fd75a5
not ecx
bswap esi
jmp 0x477169
xor eax, eax
xchg esi, ebx
ror ecx, 0xa
sub edx, esi
xor esi, ecx
xor esi, 0x14027355
add ebx, esi
rol ebx, 0xc
xor esi, ebx
ror ecx, 5
xor esi, 0x1403b1ab
jmp 0x476139
inc edi
add esi, ebx
sub ecx, ebx
xor esi, 0x14049415
not esi
jmp 0x474842
mov edi, dword [edi]
inc edx
xor ecx, esi
and ecx, esi
mov ebx, esi
xchg esi, ecx
xor ebx, edx
mov ecx, esi
xor edx, 0x140c36df
inc edx
xchg edx, esi
not esi
shr ebx, 0xb
jmp 0x475d97
add edi, dword [esp + 0xc0]
ror edx, 2
sub esi, ecx
and ecx, 0x14136a9f
xor edx, ebx
jmp 0x474a2d
pop edi
mov ecx, edx
xor edx, ecx
sub ebx, esi
or edx, esi
xor edx, 0x14150779
sub edx, 0x141548bf
dec esi
xchg esi, edx
jmp 0x475451
mov edi, dword [edi]
rol edx, 0x16
sub ebx, edx
or esi, edx
add esi, 0x1416dc79
xchg ecx, esi
xor edx, esi
bswap esi
dec ebx
and esi, edx
or edx, 0x14186c07
mov ebx, esi
shr edx, 0xe
jmp 0x47700b
add dword [esp + 0x14], 0x78
shr edx, 0xe
shr ebx, 8
add edx, ecx
mov ecx, esi
xor ebx, 0x141a3bbb
sub esi, edx
or edx, 0x141ac96f
and edx, 0x141b0a95
sub edx, esi
xchg ecx, ebx
xor ebx, edx
xor ebx, 0x141c0655
jmp 0x475e3c
mov edi, dword [esp + 0x88]
or esi, ecx
mov esi, edx
or ebx, esi
or esi, edx
and esi, edx
mov ebx, ecx
jmp 0x47685f
mov eax, 2
or esi, 0x144173bb
not ebx
rol esi, 0xb
xor ecx, edx
mov esi, 0x14428595
mov ebx, 0x1442c473
sub ecx, esi
rol ecx, 5
not ecx
xor esi, ecx
jmp 0x4749bb