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

Disassembly:
sub esp, 0xb64
mov dword [esp + 0x88], 0xaca79d
xor edx, edx
shl dword [esp + 0x88], 6
shl dword [esp + 0x88], 0xf
xor dword [esp + 0x88], 0xf3a00029
mov dword [esp + 0x98], 0x4eb0c0
add dword [esp + 0x98], 0xffff6c5e
add dword [esp + 0x98], 0xffff180d
xor dword [esp + 0x98], 0x5d352b
mov dword [esp + 0x44], 0x4e9a54
add dword [esp + 0x44], 0xffff5fd4
imul eax, dword [esp + 0x44], 0x70
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x54], eax
mov ebp, ecx
add dword [esp + 0x54], 0x8c7a
mov esi, 0xebd4b98
xor dword [esp + 0x54], 0x221ed952
mov dword [esp + 0xf4], 0x498c5f
imul eax, dword [esp + 0xf4], 0xb
push 0x31
pop ecx
push 0x4b
mov dword [esp + 0xf8], eax
xor dword [esp + 0xf8], 0x32583a5
mov dword [esp + 0x94], 0xc9bc3a
or dword [esp + 0x94], 0x1099a145
shr dword [esp + 0x94], 2
xor dword [esp + 0x94], 0x43500ce
mov dword [esp + 0x8c], 0xee34a6
shl dword [esp + 0x8c], 0xa
shl dword [esp + 0x8c], 6
xor dword [esp + 0x8c], 0x34a30401
mov dword [esp + 0xf0], 0xd50ebb
shl dword [esp + 0xf0], 0xe
xor dword [esp + 0xf0], 0x43acc49d
mov dword [esp + 0x70], 0xe40a91
xor dword [esp + 0x70], 0x236f3f5f
mov eax, dword [esp + 0x70]
div ecx
xor edx, edx
mov dword [esp + 0x70], eax
xor dword [esp + 0x70], 0xbe2222
mov dword [esp + 0xec], 0x20ec18
shl dword [esp + 0xec], 7
xor dword [esp + 0xec], 0x107907d7
mov dword [esp + 0x88], 0x9bf7ac
add dword [esp + 0x88], 0x4dc1
or dword [esp + 0x88], 0x42aeded5
xor dword [esp + 0x88], 0x42b5e679
mov dword [esp + 0xe4], 0x360548
add dword [esp + 0xe4], 0x701c
or dword [esp + 0xe4], 0x3aa46173
xor dword [esp + 0xe4], 0x3ab084d7
mov dword [esp + 0x7c], 0xd3dac5
mov eax, dword [esp + 0x7c]
pop ecx
div ecx
push 0x72
mov dword [esp + 0x7c], eax
xor edx, edx
mov eax, dword [esp + 0x7c]
pop ecx
div ecx
mov dword [esp + 0x78], eax
xor dword [esp + 0x78], 0x62af8
mov dword [esp + 0x114], 0x1ebc7b
xor dword [esp + 0x114], 0x60974c75
xor dword [esp + 0x114], 0x608d8980
mov dword [esp + 0x24], 0x4a57b0
imul eax, dword [esp + 0x24], 0x6c
mov dword [esp + 0x24], eax
add dword [esp + 0x24], 0xffff6bb1
xor dword [esp + 0x24], 0xb6f840a6
xor dword [esp + 0x24], 0xa9af51b7
mov dword [esp + 0x44], 0x92e56d
add dword [esp + 0x44], 0x7ced
xor dword [esp + 0x44], 0xcf1437ed
add dword [esp + 0x44], 0xfffff718
xor edx, edx
xor dword [esp + 0x44], 0xcf8c15a3
mov dword [esp + 0x80], 0x5060da
mov eax, dword [esp + 0x80]
push 0x6b
pop ecx
div ecx
push 0x36
mov dword [esp + 0x84], eax
xor edx, edx
mov eax, dword [esp + 0x84]
pop ecx
div ecx
push 0x45
mov dword [esp + 0x84], eax
xor edx, edx
xor dword [esp + 0x84], 0x4f73b
mov dword [esp + 0x30], 0x3a4aa2
add dword [esp + 0x30], 0x65fa
add dword [esp + 0x30], 0xf31f
shr dword [esp + 0x30], 1
xor dword [esp + 0x30], 0x18e0ea
mov dword [esp + 0xf4], 0x17fbff
add dword [esp + 0xf4], 0xffffb184
xor dword [esp + 0xf4], 0x1446a6
mov dword [esp + 0x68], 0xff6335
mov eax, dword [esp + 0x68]
pop ecx
div ecx
push 0x67
mov dword [esp + 0x68], eax
xor edx, edx
shr dword [esp + 0x68], 6
or dword [esp + 0x68], 0x8ef854d8
xor dword [esp + 0x68], 0x8ef1d888
mov dword [esp + 0xb8], 0x24bf1f
shr dword [esp + 0xb8], 0xb
shl dword [esp + 0xb8], 0xd
xor dword [esp + 0xb8], 0x9f0931
mov dword [esp + 0x90], 0xc35f9a
or dword [esp + 0x90], 0xfe79f9d7
xor dword [esp + 0x90], 0xfefbbca1
mov dword [esp + 0x130], 0x6bfc9c
shl dword [esp + 0x130], 5
xor dword [esp + 0x130], 0xd753d59
mov dword [esp + 0x60], 0x908511
shl dword [esp + 0x60], 5
add dword [esp + 0x60], 0xffffd648
mov eax, dword [esp + 0x60]
pop ecx
div ecx
push 0xc
mov dword [esp + 0x60], eax
xor edx, edx
xor dword [esp + 0x60], 0x273fa1
mov dword [esp + 0x38], 0x116230
add dword [esp + 0x38], 0x23c8
imul eax, dword [esp + 0x38], 0x3c
pop ecx
mov dword [esp + 0x34], eax
shl dword [esp + 0x34], 0xb
xor dword [esp + 0x34], 0xdb33cee9
mov dword [esp + 0x94], 0x9c7616
shr dword [esp + 0x94], 8
shl dword [esp + 0x94], 0xc
xor dword [esp + 0x94], 0x9c8b616
mov dword [esp + 0x4c], 0xc3c0e6
shr dword [esp + 0x4c], 0xb
mov eax, dword [esp + 0x4c]
div ecx
mov dword [esp + 0x4c], eax
add dword [esp + 0x4c], 0xf802
xor dword [esp + 0x4c], 0x6716e
mov dword [esp + 0xcc], 0x66b3aa
imul eax, dword [esp + 0xcc], 0x2b
mov dword [esp + 0xcc], eax
imul eax, dword [esp + 0xcc], 0x4e
mov dword [esp + 0xcc], eax
xor dword [esp + 0xcc], 0x4186fbc1
mov dword [esp + 0x18], 0x9e3259
mov eax, dword [esp + 0x18]
xor edx, edx
push 0x3a
pop ecx
div ecx
push 0x4d
mov dword [esp + 0x1c], eax
xor edx, edx
imul eax, dword [esp + 0x1c], 0x3c
pop ecx
push 0x74
mov dword [esp + 0x1c], eax
shr dword [esp + 0x1c], 3
xor dword [esp + 0x1c], 0x13f8a2
mov dword [esp + 0x18], 0x6a8ec0
mov eax, dword [esp + 0x18]
div ecx
xor edx, edx
mov dword [esp + 0x18], eax
shr dword [esp + 0x18], 8
mov eax, dword [esp + 0x18]
pop ecx
div ecx
push 0x18
mov dword [esp + 0x18], eax
xor edx, edx
xor dword [esp + 0x18], 0xd9b52
mov dword [esp + 0x40], 0xe06ac1
imul eax, dword [esp + 0x40], 0x15
pop ecx
mov dword [esp + 0x3c], eax
imul eax, dword [esp + 0x3c], 0x31
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0x396e
xor dword [esp + 0x3c], 0x8604e29a
mov dword [esp + 0x124], 0x68c51
shr dword [esp + 0x124], 0xa
xor dword [esp + 0x124], 0x53517
mov dword [esp + 0xf8], 0xc5e343
shl dword [esp + 0xf8], 6
xor dword [esp + 0xf8], 0x3173f201
mov dword [esp + 0xbc], 0xb556b4
or dword [esp + 0xbc], 0xdbbffbff
xor dword [esp + 0xbc], 0xdbb35146
mov dword [esp + 0x60], 0xa0fb1e
add dword [esp + 0x60], 0x50df
or dword [esp + 0x60], 0xcccf923e
add dword [esp + 0x60], 0x86e5
xor dword [esp + 0x60], 0xccf8b721
mov dword [esp + 0xfc], 0xe0f9d6
shl dword [esp + 0xfc], 1
xor dword [esp + 0xfc], 0x1cfcdb9
mov dword [esp + 0x68], 0xcc0d59
mov eax, dword [esp + 0x68]
div ecx
mov dword [esp + 0x68], eax
shr dword [esp + 0x68], 0xa
add dword [esp + 0x68], 0x1e91
xor dword [esp + 0x68], 0x8718a
mov dword [esp + 0x10c], 0xe04d68
or dword [esp + 0x10c], 0x5f92b570
xor dword [esp + 0x10c], 0x5ff49509
mov dword [esp + 0xc8], 0x9d84ed
xor dword [esp + 0xc8], 0xcaf0d05
or dword [esp + 0xc8], 0x469a77e7
xor dword [esp + 0xc8], 0x4eb0c604
mov dword [esp + 0xc0], 0xab62e1
shl dword [esp + 0xc0], 0xe
add dword [esp + 0xc0], 0x978e
xor dword [esp + 0xc0], 0xd8b22bc0
mov dword [esp + 0x104], 0x482f16
or dword [esp + 0x104], 0xf5536e10
xor dword [esp + 0x104], 0xf5510237
mov dword [esp + 0xb8], 0x31d7fb
imul eax, dword [esp + 0xb8], 0x2f
mov dword [esp + 0xb8], eax
or dword [esp + 0xb8], 0x489b3787
xor dword [esp + 0xb8], 0x49b1ebe7
xor edx, edx
mov dword [esp + 0xb0], 0xe019a6
mov eax, dword [esp + 0xb0]
push 0x1c
pop ecx
div ecx
push 0x66
mov dword [esp + 0xb4], eax
xor edx, edx
add dword [esp + 0xb4], 0xffff31e6
xor dword [esp + 0xb4], 0x1f8ec
mov dword [esp + 0x5c], 0xd445e4
shl dword [esp + 0x5c], 0xc
or dword [esp + 0x5c], 0x20fb5e40
add dword [esp + 0x5c], 0x9b31
xor dword [esp + 0x5c], 0x64f91d24
mov dword [esp + 0x54], 0x73422b
mov eax, dword [esp + 0x54]
pop ecx
div ecx
push 0x1a
mov dword [esp + 0x54], eax
xor edx, edx
xor dword [esp + 0x54], 0xca753aa4
add dword [esp + 0x54], 0x3782
xor dword [esp + 0x54], 0xca70a28e
mov dword [esp + 0xa4], 0xab13d
shl dword [esp + 0xa4], 3
shl dword [esp + 0xa4], 7
xor dword [esp + 0xa4], 0x2ac0a277
mov dword [esp + 0xdc], 0x477d04
mov eax, dword [esp + 0xdc]
pop ecx
div ecx
push 0x26
mov dword [esp + 0xdc], eax
xor edx, edx
imul eax, dword [esp + 0xdc], 0x4b
pop ecx
mov dword [esp + 0xd8], eax
xor dword [esp + 0xd8], 0xcb4b27
mov dword [esp + 0x1c], 0x58431e
mov eax, dword [esp + 0x1c]
div ecx
mov dword [esp + 0x1c], eax
shl dword [esp + 0x1c], 2
imul eax, dword [esp + 0x1c], 0x64
mov dword [esp + 0x1c], eax
xor dword [esp + 0x1c], 0x3aa34de
mov dword [esp + 0x7c], 0x3cd303
shr dword [esp + 0x7c], 9
add dword [esp + 0x7c], 0xd1e5
xor dword [esp + 0x7c], 0x135a4
mov dword [esp + 0xdc], 0x5406c3
xor dword [esp + 0xdc], 0x447478f3
add dword [esp + 0xdc], 0xffffe85e
xor dword [esp + 0xdc], 0x44258d87
mov dword [esp + 0x9c], 0xdc6559
xor dword [esp + 0x9c], 0xafd60f68
xor dword [esp + 0x9c], 0xf5c28d60
xor dword [esp + 0x9c], 0x5ac763f0
mov dword [esp + 0x120], 0x1bd407
shr dword [esp + 0x120], 0xa
xor dword [esp + 0x120], 0x8e44e
mov dword [esp + 0x108], 0x9f7327
shl dword [esp + 0x108], 8
xor dword [esp + 0x108], 0x9f701c58
mov dword [esp + 0x11c], 0xd576c5
add dword [esp + 0x11c], 0x46de
xor dword [esp + 0x11c], 0xdb2796
mov dword [esp + 0xc4], 0x14260
add dword [esp + 0xc4], 0x2940
or dword [esp + 0xc4], 0xc109c991
xor dword [esp + 0xc4], 0xc108aea7
mov dword [esp + 0x100], 0xea979b
or dword [esp + 0x100], 0xd7211094
xor dword [esp + 0x100], 0xd7e7c72f
mov dword [esp + 0xa4], 0x5570b2
or dword [esp + 0xa4], 0xe46a24ec
imul eax, dword [esp + 0xa4], 0x26
mov dword [esp + 0xa4], eax
xor dword [esp + 0xa4], 0xeaef9ef1
mov dword [esp + 0x28], 0x2ede3
shl dword [esp + 0x28], 8
or dword [esp + 0x28], 0x1e8d866
xor edx, edx
xor dword [esp + 0x28], 0xc4ffaa25
xor dword [esp + 0x28], 0xc716da7d
mov dword [esp + 0x20], 0x81903c
add dword [esp + 0x20], 0xffffe194
imul eax, dword [esp + 0x20], 0x79
push 0x56
pop ecx
push 0x22
mov dword [esp + 0x24], eax
shr dword [esp + 0x24], 9
xor dword [esp + 0x24], 0x1680e5
mov dword [esp + 0xb0], 0x8ce8c4
add dword [esp + 0xb0], 0xffff5cda
imul eax, dword [esp + 0xb0], 0x60
mov dword [esp + 0xb0], eax
xor dword [esp + 0xb0], 0x349929a2
mov dword [esp + 0x4c], 0xccb96f
add dword [esp + 0x4c], 0xffff356c
add dword [esp + 0x4c], 0xcefb
add dword [esp + 0x4c], 0xf0fd
xor dword [esp + 0x4c], 0xc5ab05
mov dword [esp + 0x44], 0xf2aa2b
shl dword [esp + 0x44], 0xc
add dword [esp + 0x44], 0x7202
shr dword [esp + 0x44], 9
xor dword [esp + 0x44], 0x125dcd
mov dword [esp + 0x134], 0x9fe521
xor dword [esp + 0x134], 0x49c65e4b
xor dword [esp + 0x134], 0x4952d0ac
mov dword [esp + 0x11c], 0x4bb549
add dword [esp + 0x11c], 0x6be6
xor dword [esp + 0x11c], 0x4caf8e
mov dword [esp + 0xd8], 0xaa2469
add dword [esp + 0xd8], 0x77a1
mov eax, dword [esp + 0xd8]
div ecx
xor edx, edx
mov dword [esp + 0xd8], eax
xor dword [esp + 0xd8], 0x74fc
mov dword [esp + 0x3c], 0x9a8b92
add dword [esp + 0x3c], 0xffffe597
shr dword [esp + 0x3c], 0xe
or dword [esp + 0x3c], 0xa5e92c4
xor dword [esp + 0x3c], 0xa5d60dc
mov dword [esp + 0x12c], 0x3e08c7
shr dword [esp + 0x12c], 4
xor dword [esp + 0x12c], 0x8abbd
mov dword [esp + 0x114], 0xd0716f
add dword [esp + 0x114], 0xffffc232
xor dword [esp + 0x114], 0xd0bb60
mov dword [esp + 0x34], 0x2d67d3
or dword [esp + 0x34], 0x19e0a3a9
xor dword [esp + 0x34], 0x7a6a8393
or dword [esp + 0x34], 0xe3193abf
xor dword [esp + 0x34], 0xe39c7cb5
mov dword [esp + 0xe8], 0x2d16d5
or dword [esp + 0xe8], 0x496a9d08
xor dword [esp + 0xe8], 0x4969c3ba
mov dword [esp + 0x78], 0x61b4f2
shr dword [esp + 0x78], 5
shr dword [esp + 0x78], 9
xor dword [esp + 0x78], 0xe2586
mov dword [esp + 0x74], 0x8dd3bb
imul eax, dword [esp + 0x74], 0x35
pop ecx
push 3
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
div ecx
xor edx, edx
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0xdc7398
mov dword [esp + 0xd4], 0xb8c418
mov eax, dword [esp + 0xd4]
pop ecx
div ecx
mov dword [esp + 0xd0], eax
add dword [esp + 0xd0], 0xffff4f53
xor dword [esp + 0xd0], 0x3253d4
mov eax, dword [esp + 0x54]
call fcn.00fd2c07
mov edi, dword [esp + 0xe4]
mov ebx, eax
mov eax, 0x221b1e3
cmp esi, 0xa2b4111
jg 0xfd3a70
je 0xfd3a53
cmp esi, 0x1f98fa
je 0xfd3a31
cmp esi, eax
je 0xfd39a9
cmp esi, 0x3de3d70
je 0xfd3895
cmp esi, 0x5e5517d
je 0xfd3857
cmp esi, 0x919c3ff
jne 0xfd3be7
push dword [esp + 0x13c]
push dword [esp + 0xd4]
push dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0xf0]
call fcn.00fef443
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb64
ret
push dword [esp + 0x138]
push dword [esp + 0x138]
push dword [esp + 0x84]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0xe4]
call fcn.00fdcef3
mov edi, eax
add esp, 0xc
test edi, edi
mov esi, 0x1f98fa
mov eax, 0x221b1e3
cmovne esi, eax
jmp 0xfd37de
lea eax, [esp + 0x350]
push eax
push dword [esp + 0x7c]
push dword [esp + 0xe8]
push dword [esp + 0x90]
mov ecx, dword [esp + 0xf8]
call fcn.00fe7b99
push dword [esp + 0x90]
lea eax, [esp + 0x364]
push eax
push dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x130]
call fcn.00fe9d75
add esp, 0x1c
xor ecx, ecx
mov word [eax], cx
lea eax, [esp + 0x558]
push dword [esp + 0xb4]
push dword [esp + 0x68]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x34]
push eax
call fcn.00fe63f3
add esp, 0xc
mov edx, 0xfd1418
push dword [esp + 0x12c]
mov ecx, dword [esp + 0x90]
call fcn.00fdf672
push dword [esp + 0xd0]
mov esi, eax
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0x35c]
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0x56c]
push dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
push esi
push eax
call fcn.00fe7b4d
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x38]
mov edx, dword [esp + 0x40]
call fcn.00fdcea2
push dword [esp + 0xe4]
mov edx, ebp
lea ecx, [esp + 0x174]
push dword [esp + 0x124]
push dword [esp + 0x154]
call fcn.00ff23ee
add esp, 0x34
test eax, eax
je 0xfd384c
mov esi, 0xa856d2f
jmp 0xfd37d9
push dword [esp + 0x9c]
mov ecx, dword [esp + 0xe0]
mov edx, 0xfd1528
call fcn.00fdf672
pop ecx
mov esi, eax
mov edx, edi
lea eax, [esp + 0x148]
push eax
push dword [esp + 0xa8]
lea eax, [esp + 0x768]
push dword [esp + 0x108]
push eax
lea eax, [esp + 0x978]
push eax
push esi
push dword [esp + 0xdc]
push dword [esp + 0x138]
push dword [esp + 0x128]
push dword [esp + 0x144]
call fcn.00fdbfb5
push dword [esp + 0xd4]
mov ecx, esi
push dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
call fcn.00fdcea2
add esp, 0x30
mov esi, 0xfec240a
jmp 0xfd37d9
push dword [esp + 0x30]
mov edx, dword [esp + 0x138]
mov ecx, dword [esp + 0x114]
call fcn.00fda3b1
pop ecx
mov esi, 0x919c3ff
jmp 0xfd37d9
push dword [esp + 0x128]
mov ecx, dword [esp + 0x3c]
mov edx, edi
call fcn.00fda3b1
pop ecx
mov esi, 0x1f98fa
jmp 0xfd37d9
cmp esi, 0xa856d2f
je 0xfd3b58
cmp esi, 0xafc2899
je 0xfd3b1d
cmp esi, 0xebd4b98
je 0xfd3ada
cmp esi, 0xfec240a
jne 0xfd3be7
push ecx
push dword [esp + 0xd8]
lea eax, [esp + 0x768]
xor ecx, ecx
push 1
push dword [esp + 0x124]
push dword [esp + 0x140]
push dword [esp + 0x54]
mov edx, dword [esp + 0x60]
push 0
push eax
call fcn.00fe184d
add esp, 0x20
mov esi, 0xa2b4111
jmp 0xfd37d9
push dword [esp + 0x6c]
lea eax, [esp + 0x96c]
push dword [esp + 0xf0]
push ecx
push dword [esp + 0x94]
push dword [esp + 0xa0]
push dword [esp + 0x108]
mov edx, dword [esp + 0xb0]
push ecx
push eax
call fcn.00fe6150
add esp, 0x20
mov esi, 0x3de3d70
jmp 0xfd37d9
lea eax, [esp + 0x134]
push eax
push dword [esp + 0xa4]
lea ecx, [esp + 0x144]
push dword [esp + 0x58]
mov edx, dword [esp + 0x64]
call fcn.00fd55b9
add esp, 0xc
neg eax
sbb esi, esi
and esi, 0xfccb8d7e
add esi, 0x919c3ff
jmp 0xfd37d9
mov eax, dword [esp + 0x60]
call fcn.00fd61fa
push dword [esp + 0x68]
mov ecx, dword [esp + 0x100]
mov edx, eax
mov dword [esp + 0x144], eax
call fcn.00fd4d5e
pop ecx
push dword [esp + 0xa8]
push dword [esp + 0xb4]
lea eax, [eax*2 + 2]
push dword [esp + 0xc0]
mov dword [esp + 0x150], eax
lea eax, [esp + 0x148]
push eax
push dword [esp + 0x114]
push ecx
push ebx
push ecx
push ebx
push ebx
push dword [esp + 0xe8]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x138]
call fcn.00fd7a61
add esp, 0x2c
test eax, eax
je 0xfd3bdd
mov esi, 0xafc2899
jmp 0xfd37d9
mov esi, 0x4cf93f3
mov eax, 0x221b1e3
cmp esi, 0x4cf93f3
jne 0xfd37de
jmp 0xfd384c