Function at 0x46091b
Capabilities:
Encrypt data using des
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov esi, dword [esp + 0x18]
mov edi, edx
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c]
shr edi, 4
xor edi, esi
mov eax, dword [ecx]
and edi, 0xf0f0f0f
mov ebx, edi
xor edi, esi
shl ebx, 4
movzx esi, di
xor ebx, edx
mov edx, ebx
shr edx, 0x10
xor esi, edx
mov edx, esi
xor esi, edi
shl edx, 0x10
mov edi, esi
xor edx, ebx
shr edi, 2
xor edi, edx
and edi, 0x33333333
lea ebx, [edi*4]
xor edi, edx
xor ebx, esi
mov edx, ebx
shr edx, 8
xor edx, edi
and edx, 0xff00ff
mov ebp, edx
xor edx, edi
shl ebp, 8
mov edi, edx
xor ebp, ebx
shr edi, 1
mov ebx, dword [ecx + 0x40]
xor edi, ebp
and edi, 0x55555555
lea esi, [edi + edi]
xor edi, ebp
shld edi, ebp, 1
xor esi, edx
xor ebx, edi
xor eax, edi
rol esi, 1
mov edx, ebx
mov ebp, eax
shr edx, 0x16
rol ebp, 0x1c
and edx, 0xfc
shr ebp, 0x16
mov edx, dword [edx + 0x4144c0]
and ebp, 0xfc
or edx, dword [ebp + 0x4143c0]
mov ebp, eax
shr ebp, 0x12
and ebp, 0xfc
or edx, dword [ebp + 0x4145c0]
mov ebp, ebx
shr ebp, 0xe
and ebp, 0xfc
or edx, dword [ebp + 0x4146c0]
mov ebp, eax
shr eax, 0xa
and eax, 0xfc
shr ebp, 2
and ebp, 0xfc
or edx, dword [eax + 0x4147c0]
mov eax, ebx
and ebx, 0x3f
shr eax, 6
and eax, 0xfc
or edx, dword [eax + 0x4148c0]
or edx, dword [ebp + 0x4149c0]
mov ebp, dword [ecx + 4]
or edx, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x44]
xor edx, esi
xor ebx, edx
xor ebp, edx
mov esi, ebx
mov eax, ebp
shr esi, 0x16
rol eax, 0x1c
and esi, 0xfc
shr eax, 0x16
mov esi, dword [esi + 0x4144c0]
and eax, 0xfc
or esi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or esi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or esi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or esi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or esi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 8]
or esi, dword [eax + 0x4149c0]
or esi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x48]
xor esi, edi
xor ebx, esi
xor ebp, esi
mov edi, ebx
mov eax, ebp
shr edi, 0x16
rol eax, 0x1c
and edi, 0xfc
shr eax, 0x16
mov edi, dword [edi + 0x4144c0]
and eax, 0xfc
or edi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0xc]
or edi, dword [eax + 0x4149c0]
or edi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x4c]
xor edi, edx
xor ebx, edi
xor ebp, edi
mov edx, ebx
mov eax, ebp
shr edx, 0x16
rol eax, 0x1c
and edx, 0xfc
shr eax, 0x16
mov edx, dword [edx + 0x4144c0]
and eax, 0xfc
or edx, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edx, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edx, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edx, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edx, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x10]
or edx, dword [eax + 0x4149c0]
or edx, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x50]
xor edx, esi
xor ebx, edx
xor ebp, edx
mov esi, ebx
mov eax, ebp
shr esi, 0x16
rol eax, 0x1c
and esi, 0xfc
shr eax, 0x16
mov esi, dword [esi + 0x4144c0]
and eax, 0xfc
or esi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or esi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or esi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or esi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or esi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x14]
or esi, dword [eax + 0x4149c0]
or esi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x54]
xor esi, edi
xor ebx, esi
xor ebp, esi
mov edi, ebx
mov eax, ebp
shr edi, 0x16
rol eax, 0x1c
and edi, 0xfc
shr eax, 0x16
mov edi, dword [edi + 0x4144c0]
and eax, 0xfc
or edi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x18]
or edi, dword [eax + 0x4149c0]
or edi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x58]
xor edi, edx
xor ebx, edi
xor ebp, edi
mov edx, ebx
mov eax, ebp
shr edx, 0x16
rol eax, 0x1c
and edx, 0xfc
shr eax, 0x16
mov edx, dword [edx + 0x4144c0]
and eax, 0xfc
or edx, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edx, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edx, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edx, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edx, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x1c]
or edx, dword [eax + 0x4149c0]
or edx, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x5c]
xor edx, esi
xor ebx, edx
xor ebp, edx
mov esi, ebx
mov eax, ebp
shr esi, 0x16
rol eax, 0x1c
and esi, 0xfc
shr eax, 0x16
mov esi, dword [esi + 0x4144c0]
and eax, 0xfc
or esi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or esi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or esi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or esi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or esi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x20]
or esi, dword [eax + 0x4149c0]
or esi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x60]
xor esi, edi
xor ebx, esi
xor ebp, esi
mov edi, ebx
mov eax, ebp
shr edi, 0x16
rol eax, 0x1c
and edi, 0xfc
shr eax, 0x16
mov edi, dword [edi + 0x4144c0]
and eax, 0xfc
or edi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x24]
or edi, dword [eax + 0x4149c0]
or edi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x64]
xor edi, edx
xor ebx, edi
xor ebp, edi
mov edx, ebx
mov eax, ebp
shr edx, 0x16
rol eax, 0x1c
and edx, 0xfc
shr eax, 0x16
mov edx, dword [edx + 0x4144c0]
and eax, 0xfc
or edx, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edx, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edx, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edx, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edx, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x28]
or edx, dword [eax + 0x4149c0]
or edx, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x68]
xor edx, esi
xor ebx, edx
xor ebp, edx
mov esi, ebx
mov eax, ebp
shr esi, 0x16
rol eax, 0x1c
and esi, 0xfc
shr eax, 0x16
mov esi, dword [esi + 0x4144c0]
and eax, 0xfc
or esi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or esi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or esi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or esi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or esi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x2c]
or esi, dword [eax + 0x4149c0]
or esi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x6c]
xor esi, edi
xor ebx, esi
xor ebp, esi
mov edi, ebx
mov eax, ebp
shr edi, 0x16
rol eax, 0x1c
and edi, 0xfc
shr eax, 0x16
mov edi, dword [edi + 0x4144c0]
and eax, 0xfc
or edi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x30]
or edi, dword [eax + 0x4149c0]
or edi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x70]
xor edi, edx
xor ebx, edi
xor ebp, edi
mov edx, ebx
mov eax, ebp
shr edx, 0x16
rol eax, 0x1c
and edx, 0xfc
shr eax, 0x16
mov edx, dword [edx + 0x4144c0]
and eax, 0xfc
or edx, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edx, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edx, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edx, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edx, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x34]
or edx, dword [eax + 0x4149c0]
or edx, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x74]
xor edx, esi
xor ebx, edx
xor ebp, edx
mov esi, ebx
mov eax, ebp
shr esi, 0x16
rol eax, 0x1c
and esi, 0xfc
shr eax, 0x16
mov esi, dword [esi + 0x4144c0]
and eax, 0xfc
or esi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or esi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or esi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or esi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or esi, dword [ebp + 0x4148c0]
mov ebp, dword [ecx + 0x38]
or esi, dword [eax + 0x4149c0]
or esi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x78]
xor esi, edi
xor ebx, esi
xor ebp, esi
mov edi, ebx
mov eax, ebp
shr edi, 0x16
rol eax, 0x1c
and edi, 0xfc
shr eax, 0x16
mov edi, dword [edi + 0x4144c0]
and eax, 0xfc
or edi, dword [eax + 0x4143c0]
mov eax, ebp
shr eax, 0x12
and eax, 0xfc
or edi, dword [eax + 0x4145c0]
mov eax, ebx
shr eax, 0xe
and eax, 0xfc
or edi, dword [eax + 0x4146c0]
mov eax, ebp
shr ebp, 0xa
and ebp, 0xfc
shr eax, 2
and eax, 0xfc
or edi, dword [ebp + 0x4147c0]
mov ebp, ebx
and ebx, 0x3f
shr ebp, 6
and ebp, 0xfc
or edi, dword [ebp + 0x4148c0]
or edi, dword [eax + 0x4149c0]
or edi, dword [ebx*4 + 0x414ac0]
mov ebx, dword [ecx + 0x3c]
xor edi, edx
mov edx, dword [ecx + 0x7c]
xor ebx, edi
mov ecx, ebx
rol ecx, 0x1c
xor edx, edi
shr ecx, 0x16
mov eax, edx
and ecx, 0xfc
shr eax, 0x16
and eax, 0xfc
mov eax, dword [eax + 0x4144c0]
or eax, dword [ecx + 0x4143c0]
mov ecx, ebx
shr ecx, 0x12
and ecx, 0xfc
or eax, dword [ecx + 0x4145c0]
mov ecx, edx
shr ecx, 0xe
and ecx, 0xfc
or eax, dword [ecx + 0x4146c0]
mov ecx, ebx
shr ebx, 0xa
and ebx, 0xfc
shr ecx, 2
and ecx, 0xfc
or eax, dword [ebx + 0x4147c0]
mov ebx, edx
and edx, 0x3f
shr ebx, 6
and ebx, 0xfc
or eax, dword [ebx + 0x4148c0]
or eax, dword [ecx + 0x4149c0]
or eax, dword [edx*4 + 0x414ac0]
xor eax, esi
ror eax, 1
mov ecx, eax
xor ecx, edi
ror edi, 1
shr ecx, 1
and ecx, 0x55555555
lea edx, [ecx + ecx]
xor ecx, edi
xor edx, eax
mov eax, ecx
shr eax, 8
xor eax, edx
and eax, 0xff00ff
mov esi, eax
xor eax, edx
shl esi, 8
xor esi, ecx
mov ecx, esi
shr ecx, 2
xor ecx, eax
and ecx, 0x33333333
lea edx, [ecx*4]
xor ecx, eax
xor edx, esi
mov eax, ecx
shr eax, 0x10
movzx esi, dx
xor esi, eax
mov eax, esi
xor esi, edx
shl eax, 0x10
xor eax, ecx
mov ecx, eax
shr ecx, 4
xor ecx, esi
and ecx, 0xf0f0f0f
mov edx, ecx
xor ecx, esi
mov esi, dword [esp]
shl edx, 4
xor edx, eax
mov dword [esi], edx
mov dword [esi + 4], ecx
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret