Function at 0xbdbaf1
Capabilities:
Encrypt data using rc4 prga
Parse pe header
Resolve function by parsing pe exports

Disassembly:
lea ebx, [esi - 1]
cmp dword [ebp + 8], ebx
jle 0xb6687f
mov eax, dword [ebp - 4]
shld si, sp, 0xd4
mov esi, dword [ebp - 8]
test ecx, 0x5b0f710d
cmc
cmp esi, dword [eax + edi + 0x14]
jae 0xac486e
mov ecx, dword [eax + edi + 0x1c]
movzx edx, bp
mov dh, 0x38
bt edx, ecx
lea edx, [ecx + esi*4]
rcl ch, 0x47
mov ecx, dword [edx + edi]
test ecx, ecx
je 0xac486e
cmp ecx, eax
jb 0xb5ca90
mov edx, dword [ebp - 0x10]
add edx, eax
cmp esi, 0x74ce5cb6
cmp ecx, edx
jae 0xb5ca90
lea eax, [ecx + edi]
xchg si, si
mov cl, byte [eax]
mov esi, eax
clc
cmc
test cl, cl
je 0xac486e
mov edi, edi
cmp edx, esp
cmc
cmp ebx, 0x4bee14ff
cmp cl, 0x2e
je 0xac509d
mov cl, byte [esi + 1]
inc esi
cmp edx, 0x45f837b6
cmc
test cl, cl
jne 0xac4852
pop esi
pop ebx
sal di, 0x59
btc edi, edi
mov edi, edx
xor eax, eax
not di
mov di, 0x5ce8
pop edi
mov esp, ebp
bswap ebp
mov bp, 0x3810
pop ebp
ret
mov ebx, esi
test bh, 0x90
cmp sp, si
clc
sub ebx, eax
cmc
test ch, 0x8c
cmp esi, esi
cmp ebx, 0x104
jae 0xac486e
sub ecx, ecx
cmc
test ebx, ebx
jbe 0xac50f6
lea edi, [ebp - 0x114]
add dl, 4
cmp sp, 0x7aee
sub edi, eax
adc dl, 6
mov dl, byte [eax]
test si, 0x1a1e
stc
test dl, dl
je 0xac50f6
mov byte [edi + eax], dl
inc ecx
inc eax
stc
cmp ecx, ebx
jb 0xac50d8
lea eax, [ebp - 0x114]
push eax
cwde
movzx eax, di
not al
mov byte [ebp + ecx - 0x114], 0
lahf
cbw
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
mov edi, eax
cmp dh, cl
test dx, 0x7ca
test edi, edi
jne 0xac514f
lea ecx, [ebp - 0x114]
push ecx
nop
mov eax, 0x3a9477ec
bswap ax
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
call eax
mov edi, eax
cmc
stc
cmp dx, 0x1e9d
test edi, edi
je 0xac486e
cmp byte [esi + 1], 0x23
cmovo ecx, ecx
movzx ecx, bx
lea ecx, [esi + 1]
je 0xb5bd66
push 0
push ecx
push edi
call fcn.00bdbaf1
add esp, 0xc
mov edi, 0x6c585f28
bswap bx
pop esi
pop ebx
mov edi, ebp
bswap di
pop edi
mov esp, ebp
pop ebp
ret
mov cl, byte [esi + 2]
stc
test ax, dx
add esi, 2
xor edx, edx
test edi, 0x5e36226e
clc
cmp eax, 0x31333302
test cl, cl
je 0xb5bdbd
mov al, cl
test ax, si
sub al, 0x30
inc esi
test esi, eax
cmp dx, sp
clc
cmp al, 9
ja 0xb5bdbd
movsx eax, cl
mov cl, byte [esi]
stc
lea edx, [edx + edx*4]
lea edx, [eax + edx*2 - 0x30]
test esp, 0x4bff4a8a
cmp sp, 0xb1c
cmc
test cl, cl
jne 0xb5bd86
push 0
push edx
push edi
call fcn.00bdbaf1
add esp, 0xc
mov si, dx
pop esi
mov di, 0x37b5
xchg bx, bx
pop ebx
bswap di
cmovae edi, eax
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov ax, 0x61c0
movsx edx, sp
mov edx, dword [ecx + edi + 0x24]
setnp cl
lahf
lea eax, [edx + esi*2]
movzx ecx, word [eax + edi]
lea edx, [ebx + 1]
mov dword [ebp - 8], ecx
mov dword [ebp + 8], edx
jmp 0xac47d5
pop esi
movzx ebx, ax
pop ebx
movsx eax, sp
lea eax, [ecx + edi]
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x3c]
test ebp, ebx
cmp bp, 0x18e3
add edx, edi
test ch, dh
cmp di, di
cmp dword [edx], 0x4550
jne 0xbdbb31
mov eax, dword [edx + 0x78]
cmc
clc
cmp di, 0x4c9d
mov dword [ebp - 4], eax
cmp ah, ah
test eax, eax
je 0xbdbb31
mov edx, dword [edx + 0x7c]
push ebx
test cl, bl
stc
cmp dx, bp
push esi
clc
cmc
stc
or esi, 0xffffffff
mov dword [ebp - 0x10], edx
cmp cl, bl
clc
mov dword [ebp - 8], esi
stc
test cx, sp
cmp ecx, 0xffff
ja 0xe5f9f4
sub ecx, dword [eax + edi + 0x10]
cmp bp, 0x35d4
stc
clc
cmp ecx, dword [eax + edi + 0x14]
jae 0xac486e
mov edx, dword [eax + edi + 0x1c]
cmp bp, 0x4a9c
lea ecx, [edx + ecx*4]
clc
mov ecx, dword [ecx + edi]
cmp ebp, 0x4c1c4540
stc
test bx, 0x4f0b
test ecx, ecx
jne 0xac4818
pop esi
pop ebx
xor eax, eax
not di
mov edi, 0x1d9a3b2a
pop edi
mov esp, ebp
movzx ebp, di
mov ebp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
dec edx
rcl esi, 0x11
mov edx, dword [ebp - 0xc]
test edi, 0x6e2228bd
mov eax, dword [ebp + 8]
mov esi, 0x2c994a99
lea esi, [ebx + eax]
cwde
mov eax, dword [ebp + 0x10]
cmp cx, cx
stc
push eax
sar esi, 1
adc eax, esi
xor ah, 0xa7
mov eax, dword [edx + esi*4]
test al, 0x62
clc
add eax, edi
call fcn.00b5e3ee
add esp, 4
cmp eax, 0xffffffff
je 0xac47d2
test eax, eax
je 0xb5bf6c
cmp eax, 1
jne 0xac47d5
inc esi
mov dword [ebp + 8], esi
jmp 0xac47d5
push ebp
mov ebp, esp
cmp eax, 0x28442b48
stc
sub esp, 0x114
cmp ebp, 0x4c36eb3
clc
push edi
mov edi, dword [ebp + 8]
clc
stc
test edi, edi
je 0xbdbb31
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0xbdbb31
mov eax, 0x5a4d
cmc
test ebp, eax
cmp word [edi], ax
je 0xb5df51
sub eax, eax
movzx edi, bx
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [eax + edi + 0x18]
test ebx, ebx
je 0xac47f0
mov edx, dword [eax + edi + 0x20]
dec ebx
lea edx, [edx + edi]
test ebx, 0x42590ad5
mov dword [ebp + 8], 0
mov dword [ebp - 0xc], edx
test ebx, ebx
jl 0xac47f0
jmp 0xb6688f