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

Disassembly:
add esi, dword [esp + 0x48]
shr ebx, 3
add edx, ecx
xor edx, edi
and ecx, edx
neg edx
rol ecx, 9
xchg edi, ecx
jmp 0x477d57
mov esi, dword [esp + 0x24]
or edi, ecx
sub edi, ecx
ror edx, 6
rol ecx, 0xb
sub ecx, edi
ror ebx, 2
and ecx, edi
mov ebx, edi
or edi, edx
xchg ecx, edi
jmp 0x476222
mov esi, dword [esi]
mov edx, ecx
and edi, edx
xor ebx, edi
xor edi, edx
xchg ebx, edi
bswap edx
dec ebx
and ebx, ecx
nop
add edi, ebx
jmp 0x47717e
mov esi, dword [esp + 0x54]
xchg edi, ebx
xor edi, edx
not edx
xchg ecx, edi
rol edi, 0x19
xchg edi, ebx
xor ebx, edx
sub edx, edi
add edi, ebx
jmp 0x478a63
mul esi
bswap edx
mov ebx, 0x8495d504
xor ebx, edi
and ecx, ebx
jmp 0x476f90
mov esi, dword [esp + 0x48]
add edi, ecx
shr ebx, 0xc
mov edi, ecx
shr edi, 0x1e
mov edx, ebx
add ebx, 0x849dfd18
shl edi, 0x19
or ecx, 0x849e7bbf
or ecx, 0x849ec9d5
jmp 0x477743
add dword [esp + 0x24], 0x78
add ebx, edi
sub ecx, ebx
mov edx, ecx
and ecx, 0x84ac98bc
sub edx, ebx
mov edi, 0x84ad0f75
or ebx, edi
mov edi, ebx
and ebx, 0x84add047
jmp 0x478510
mov esi, dword [esi]
shr ecx, 0x16
add ecx, 0x84e11cd4
xor edi, 0x84e15902
xor ebx, ecx
bswap edi
or edx, ebx
rol ecx, 9
shl edi, 2
jmp 0x477b78
mov esi, dword [esi]
xor edx, edi
ror edx, 0x1d
shr ecx, 4
sub edi, edx
rol ecx, 6
and ebx, ecx
xor edx, ecx
mov edi, ebx
add edi, edx
xor ecx, ebx
jmp 0x47723a
mov esi, dword [esi]
sub edx, ecx
neg edx
sub ebx, edx
sub ebx, ecx
or edx, ebx
xor ecx, edi
add edx, ecx
shl ebx, 5
or edx, edi
mov ecx, edx
jmp 0x477e8c
add esi, dword [esp + 0x24]
add edi, edx
mov ebx, 0x85013a1a
mov ebx, 0x8501766f
mov ecx, 0x8501b3fb
xchg ebx, edi
sub ebx, edi
jmp 0x4766db
mov dword [esp + 0x48], 0
xor edi, ecx
and ecx, edx
shl edi, 1
and ecx, edx
xchg edi, ebx
sub edi, ecx
mov ebx, ecx
and ebx, ecx
mov edi, 0x8514eabe
xchg edx, ebx
add edx, ecx
inc edi
jmp 0x476f04
mov esi, dword [esp + 0x48]
mov edx, ecx
mov ebx, 0x8534c70f
and ebx, edi
neg ecx
not ecx
add ebx, 0x8535ce18
ror edx, 1
inc ebx
neg edi
jmp 0x476794
add esi, 0xc
not ebx
and edx, ebx
and ecx, 0x853a61d3
or edx, edi
xchg edi, edx
and ebx, edi
xchg edx, ecx
and ecx, ebx
not ecx
mov ecx, ebx
dec ecx
or edx, edi
or edx, ecx
jmp 0x4779d3
mov dword [esp + 0x24], esi
xor edx, ecx
sub edx, 0x8545efa6
ror edx, 0x13
jmp 0x475894
mov esi, dword [esi]
mov edx, ecx
not ebx
mov edi, 0x8566b56b
add edx, ecx
and edx, edi
xchg edi, ecx
not ebx
mov ecx, edx
not edx
xchg ebx, edi
add ebx, 0x8568a224
sub ecx, ebx
xchg edx, ecx
add ebx, edi
sub edx, ecx
jmp 0x476c0a
mov esi, dword [esi]
and edx, ebx
mov ecx, 0x8574ec13
bswap ebx
and ecx, ebx
shr ebx, 0x12
xchg ebx, ecx
xor edi, 0x85762a8f
jmp 0x476039
mov esi, dword [esp + 0x24]
sub ecx, edi
xor edi, 0x858aac7d
mov edi, edx
jmp 0x475bc2
mov dword [esp + 0x24], esi
bswap edi
xor ecx, edx
sub edx, edi
xchg edx, ebx
add edi, ecx
jmp 0x478be4
mov esi, dword fs:[esi]
xor ecx, edx
add edi, edx
add edx, edi
add edi, edx
mov ecx, edi
shr edi, 2
xchg edi, ebx
xchg ecx, ebx
xor edx, edi
or ecx, ebx
mov edx, ecx
rol edi, 0x1d
jmp 0x477039
inc dword [esp + 0x54]
add ecx, edi
neg edi
xchg ecx, ebx
bswap edi
and edx, ebx
jmp 0x4785d9
mov esi, dword [esi]
mov ecx, 0x85bd1b55
rol edi, 7
mov ecx, 0x85bd98f7
neg ebx
xor ecx, ebx
dec ecx
mov ecx, 0x85bea035
bswap ebx
xor edx, edi
mov ebx, edi
jmp 0x47880d
add esi, 0x3c
xchg ebx, edx
and edx, ebx
and edi, ebx
bswap edx
and edi, edx
or edx, ebx
xchg edi, edx
xchg ecx, ebx
jmp 0x4762d7
mov esi, 0x30
sub ebx, ecx
and edi, ebx
and ecx, edi
or ebx, edx
and ecx, ebx
mov ecx, 0x85d42ce1
sub edx, 0x85d46a5d
mov ebx, 0x85d4a99f
mov ecx, ebx
sub edx, 0x85d532c7
xor ebx, ecx
xor ecx, ebx
bswap ecx
jmp 0x4765b9
cmp eax, dword [esp + 0x60]
jmp 0x4773f3
mov esi, dword [esi]
xor edi, ebx
sub ebx, 0x860300b6
and edx, ebx
xor edi, edx
or edi, 0x8603b81c
add ecx, ebx
add ebx, 0x860433aa
sub edx, edi
and ebx, edi
bswap edx
and edx, ecx
nop
jmp 0x4754ce
push esi
xchg ebx, ecx
dec ebx
add edx, ecx
xor ecx, edx
and ebx, ecx
sub edx, ecx
and ebx, 0x860e4e85
shl edx, 0x1a
jmp 0x4788ab
mov esi, dword [esi]
mov ecx, 0x8616522e
sub edx, ecx
xor edx, edi
xor ebx, ecx
sub ecx, edx
or ecx, 0x86178e4a
inc ecx
xor ebx, edi
jmp 0x478f1c
add esi, dword [esp + 0x48]
xor edi, edx
neg edx
sub edx, edi
add ecx, 0x862274d1
mov edi, edx
xor edx, 0x8622fae3
xchg edi, ebx
xor edx, ecx
mov edi, ecx
jmp 0x478157
movzx esi, word [esi]
add edi, ebx
sub ecx, edx
mov edx, ebx
add ecx, 0x863654cf
shl ebx, 0x1c
add edi, 0x8636cd0f
or edi, ecx
xchg edi, ecx
sub ecx, 0x86379182
sub edx, edi
jmp 0x47575f
rol eax, 8
or edx, 0x86381d76
add ebx, edx
sub ebx, edx
xchg edx, ecx
or edi, edx
and ecx, edx
and ebx, ecx
sub edx, ecx
inc edx
add edx, edi
inc ecx
and ebx, ecx
jmp 0x4783a5
mov dword [esp + 0x24], 0
add ebx, edx
mov edi, 0x8657d05e
and ecx, edi
mov edx, 0x8658472b
and ecx, 0x865884f5
and ebx, ecx
jmp 0x47884b
add dword [esp + 0x24], eax
xor ecx, ebx
rol edi, 0x1f
mov edi, ebx
xchg ebx, edi
sub ebx, edi
bswap ebx
or ebx, 0x86629dc3
sub ecx, edi
and edx, ebx
mov ecx, edx
mov ecx, ebx
and edx, ebx
mov edi, edx
dec ebx
xor edx, ecx
jmp 0x477cf2
mov dword [esp + 0x54], eax
sub ebx, 0x866638da
or edx, 0x8666767b
and edi, 0x8666b52e
neg ecx
not edi
mov ecx, edx
shl edx, 9
jmp 0x477897
add esi, 0xc
or edi, edx
shr ecx, 0x12
mov edi, 0x866dc0e8
rol ebx, 7
jmp 0x47767d
mov dword [esp + 0x54], 0
inc edi
sub edi, 0x867fc36c
or edi, ecx
or ebx, 0x86803e2c
jmp 0x478027
add esi, dword [esp + 0x48]
xor edx, ecx
xor edx, 0x8684545d
rol edi, 0x15
xor edi, ecx
xchg ebx, ecx
jmp 0x476aec
add esi, dword [esp + 0x48]
and edi, 0x86926e9a
xor edx, ecx
and edi, ecx
shr ebx, 4
mov edx, ecx
sub ebx, 0x86943fbd
sub ebx, edi
jmp 0x476430
jne 0x476674
xchg edi, ebx
shl edx, 0x11
add ecx, edi
and ebx, 0x86b5bb58
mov edi, edx
jmp 0x4775e6
add dword [esp + 0x24], 4
and edx, ebx
sub edx, ebx
add edx, ecx
xor ebx, 0x86d9a0b3
and ecx, edi
mov edx, ebx
sub edi, ecx
rol edx, 0x1a
xor ebx, edi
xchg ebx, edi
xchg edx, ecx
rol ebx, 0x15
jmp 0x47640a
mov esi, dword [esi]
mov ebx, edx
and ebx, edx
mov edi, ecx
and ebx, edi
jmp 0x475f99
cmp byte [esi], 0
jmp 0x477c87
xor al, byte [esi]
neg ecx
add ebx, edi
ror ecx, 8
jmp 0x476d3d
add dword [esp + 0x24], esi
and ebx, 0x86eff3c2
mov ecx, 0x86f030b4
and ebx, edi
or ecx, ebx
sub edi, edx
add edi, ecx
xchg ecx, ebx
neg ebx
add ebx, edx
or edx, ecx
neg ebx
bswap edx
sub edx, edi
dec ecx
sub ebx, edi
jmp 0x478f48
sub dword [esp + 0x24], 8
shl edx, 0x11
mov ecx, ebx
sub ebx, edi
ror edx, 4
jmp 0x477f47
mov esi, dword [esi]
xchg ecx, edx
inc ecx
mov ecx, ebx
xor ebx, ecx
and ecx, edx
or ebx, 0x87270c48
bswap edi
or edi, ecx
mov ecx, 0x8727c679
xor edx, ecx
jmp 0x477fa5
pop esi
xor edx, 0x873e6a13
or ecx, edx
jmp 0x4768f5
mov dword [esp + 0x48], esi
and ebx, ecx
sub edi, ecx
and edx, ecx
xor edi, ebx
shr ecx, 0x10
sub ecx, edi
mov edi, ebx
and edx, edi
jmp 0x475f50
jne 0x477735
shr edx, 0x1f
and edi, ecx
mov ebx, edx
ror ebx, 4
mov ecx, 0x875dff41
jmp 0x477aea
mov esi, dword [esp + 0x24]
bswap ecx
ror edi, 0x1d
xchg edx, ecx
or ecx, edi
xor ebx, ecx
add ecx, ebx
xchg ebx, ecx
and ebx, edi
add edi, edx
add ecx, edx
inc ecx
mov edx, ebx
sub ecx, edx
sub ecx, edx
jmp 0x476a4f
add esp, 0xf0
add edx, 0x876b38fb
xchg edi, ebx
sub ecx, 0x876bb1c9
or ecx, edi
xor ebx, edi
add edi, edx
xchg edx, ecx
and ecx, ebx
mov edx, edi
and ebx, ecx
xor edx, 0x876d9e9a
and edx, ecx
neg edi
and ebx, ecx
not edi
jmp 0x4781e0
mov eax, 2
mov ecx, 0x876ee890
xor edi, edx
xor ebx, 0x876fa414
sub ecx, edx
and ebx, edi
and edi, 0x87705aea
ror ecx, 1
or edx, ecx
mov ebx, edx
sub edx, ebx
ror ecx, 8
sub ecx, edi
jmp 0x475575
add esi, dword [esp + 0x48]
not ebx
and edi, ebx
add edi, ecx
shr ecx, 0x10
sub ecx, edi
not ecx
neg edx
mov ecx, edx
xchg edi, ecx
neg edx
add edi, ebx
xor edx, ecx
mov ecx, ebx
jmp 0x4782fb
mov esi, dword [esp + 0x24]
shl edi, 0x15
or ebx, edi
sub edx, ebx
or edx, ecx
neg edx
neg ebx
not edx
add ebx, edi
xor ecx, edx
mov ebx, ecx
jmp 0x475aaa
mov esi, dword [esi]
xor ecx, ebx
add edi, ebx
and ebx, edx
inc ebx
sub ebx, ecx
mov edi, ecx
rol ebx, 0x14
xor edi, ebx
xchg edx, edi
jmp 0x476b6a
mov dword [esp + 0xe8], 0
xor edi, 0x87a53f69
mov edi, ecx
sub edx, ecx
or edi, edx
bswap ebx
shl ecx, 9
mov edi, ecx
add edi, ebx
add edx, ebx
jmp 0x475d67
mov eax, 4
xor ebx, edx
xor ecx, edx
mov ecx, edx
add edi, ecx
or ebx, edi
or ebx, 0x87a8f278
xor ecx, ebx
or ecx, edx
sub ecx, edx
jmp 0x476d14
mov dword [esp + 0xe8], esi
sub ecx, ebx
sub ebx, 0x87bbcb50
add ecx, 0x87bc1927
or edi, ecx
jmp 0x476674
ret
mov dword [esp + 0xe8], esi
xor edi, 0x87dd3a16
ror edi, 0x13
and ebx, 0x87e24085
or ecx, edi
xor edx, edi
xor ecx, ebx
sub ecx, edx
and ecx, edi
or ecx, 0x87e3b52a
add ecx, 0x87e3f237
rol ebx, 0xe
not edx
add edi, ecx
jmp 0x477d8c
inc esi
xor ebx, edi
sub edi, 0x87ed61c8
dec ebx
or ebx, 0x87eddb61
xor edi, 0x87ee180d
add ecx, ebx
sub ecx, edi
sub edx, ecx
mov edx, ebx
bswap ecx
and ebx, 0x87ef8e29
jmp 0x47772d
mov esi, dword [esp + 0x48]
or edx, ebx
or edx, ecx
xchg ebx, edx
dec edx
xchg ecx, ebx
xchg ebx, ecx
add edi, ecx
sub ecx, edi
shl ecx, 0x1c
jmp 0x475c52
add dword [esp + 0xe8], 4
neg edi
add ebx, edi
shr ebx, 5
mov edi, 0x881865d1
or ebx, edx
sub edx, ebx
jmp 0x4787e3
mov esi, dword [esp + 0xe8]
or ebx, 0x883dfca8
shl ebx, 0x1e
and edi, ebx
bswap edx
shl ecx, 6
xor ecx, edx
mov ecx, edx
and edx, ecx
or ebx, 0x8840385d
sub ecx, ebx
jmp 0x47555c
mov dword [esp + 0x24], esi
sub ecx, edx
nop
sub ecx, edx
add ecx, edi
or edx, edi
and ebx, ecx
xchg ecx, ebx
rol edx, 0x12
and ecx, edx
xchg ebx, edx
jmp 0x4757b8
add esi, dword [esp + 0x54]
sub edi, ecx
or ecx, edi
mov edx, ecx
and edi, ecx
sub ecx, 0x88444801
xchg edx, edi
xor edx, ecx
jmp 0x47804e
mov dword [esp + 0x60], esi
shr edx, 0x1d
add ecx, edi
xchg edx, edi
mov edx, ebx
xor edi, 0x88461a7b
mov ecx, edi
and edx, 0x8846a410
and edx, 0x8846e273
neg ebx
jmp 0x476807
xor eax, eax
shr ebx, 5
sub edi, ecx
rol edx, 0xd
mov ecx, 0x884c0188
and ecx, edi
sub ecx, edx
mov edi, ebx
jmp 0x477735
mul esi
mov ebx, edx
and ebx, 0x886adef6
sub edi, edx
inc ebx
sub edx, 0x886b96a6
rol ecx, 0x1f
not ebx
mov ebx, 0x886c4e08
and edi, edx
jmp 0x476fcf
mov esi, dword [esp + 0xe8]
neg edi
add edx, edi
xchg edi, ebx
sub ebx, 0x88857868
shl ecx, 0x1b
add edi, 0x8885f4d1
mov ebx, edx
xor ecx, edx
or ecx, edi
sub edx, 0x8886f2d9
mov ebx, edx
rol edx, 0x1a
add ecx, edi
jmp 0x47882d
sub esp, 0xf0
xor ecx, edi
and ecx, ebx
mov edx, edi
xor ebx, edx
xor edx, edi
inc ebx
xor ecx, ebx
sub ecx, 0x88ac745d
jmp 0x477136
add esi, 0x18
rol edx, 0x15
dec ebx
and ebx, edi
sub edi, ecx
and edx, ebx
and edi, ebx
or ebx, ecx
shl ecx, 0x12
xchg ebx, edi
jmp 0x475a88
add dword [esp + 0x24], 0x20
bswap edx
or edi, edx
add ecx, 0x88c8c54b
xchg edi, ebx
xchg edi, edx
not edx
nop
sub edi, 0x88ca0f43
or edx, 0x88ca4e99
neg edx
jmp 0x475524