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

Disassembly:
lea ebx, [esi - 1]
test di, 0x7175
cmp dword [ebp + 8], ebx
jle 0x782977
mov eax, dword [ebp - 4]
cmp cx, 0x1239
mov esi, dword [ebp - 8]
test ebx, esp
cmp bh, 0xd7
cmp esi, dword [eax + edi + 0x14]
jae 0x72d19c
mov ecx, dword [eax + edi + 0x1c]
or dh, 0xde
bsf dx, sp
lea edx, [ecx + esi*4]
mov ecx, dword [edx + edi]
test ecx, ecx
je 0x72d19c
cmp ecx, eax
jb 0x7814d4
mov edx, dword [ebp - 0x10]
lea edx, [edx + eax]
test esp, esp
test bp, 0x5cbe
cmp ecx, edx
jae 0x7814d4
lea eax, [ecx + edi]
sal cl, 0xf7
mov cl, byte [eax]
mov esi, eax
cmc
stc
test cl, cl
je 0x72d19c
mov edi, edi
cmp cl, 0x2e
je 0x78d10a
mov cl, byte [esi + 1]
inc esi
clc
cmp edx, ebx
test cl, cl
jne 0x72d184
pop esi
pop ebx
stc
bsr di, bp
xor eax, eax
not edi
pop edi
mov esp, ebp
movsx ebp, si
pop ebp
ret
mov cl, byte [esi + 2]
clc
stc
lea esi, [esi + 2]
sub edx, edx
clc
test cl, cl
je 0x72e5d8
mov al, cl
cmp bx, ax
sub al, 0x30
inc esi
cmp ch, ch
test esi, 0x791345d2
cmp al, 9
ja 0x72e5d8
movsx eax, cl
cmc
mov cl, byte [esi]
test dh, al
test bx, 0x6db
lea edx, [edx + edx*4]
cmp eax, ebx
cmp dx, 0xf84
clc
lea edx, [eax + edx*2 - 0x30]
test si, 0x5546
cmc
test cl, cl
jne 0x72e596
push 0
push edx
push edi
call fcn.0078629a
add esp, 0xc
pop esi
pop ebx
pop edi
mov esp, ebp
mov ebp, esp
xchg bp, bp
pop ebp
ret
pop esi
pop ebx
movsx eax, si
cmovle eax, ebp
lea eax, [ecx + edi]
mov edi, edi
xchg edi, edi
mov edi, 0x5ac5039f
pop edi
mov esp, ebp
mov ebp, 0x73db1ba8
pop ebp
ret
mov ecx, dword [ebp + 0xc]
cwd
not esi
mov edx, dword [ebp - 0xc]
sub ax, bx
cwde
mov eax, dword [ebp + 8]
sal esi, 0xa2
and si, 0x712a
lea esi, [ebx + eax]
not al
movzx eax, si
mov eax, dword [ebp + 0x10]
push eax
xor ax, 0x6ce9
sar esi, 1
cmp esi, 0x438124cf
btc eax, edi
bswap eax
mov eax, dword [edx + esi*4]
test ebx, edi
stc
cmc
add eax, edi
call fcn.00795c05
add esp, 4
cmp eax, 0xffffffff
je 0x72d10d
test eax, eax
je 0x793f9d
cmp eax, 1
jne 0x72d115
inc esi
mov dword [ebp + 8], esi
jmp 0x72d115
push ebp
mov ebp, esp
lea esp, [esp - 0x114]
test ah, 0xd4
test bp, dx
push edi
cmp di, si
mov edi, dword [ebp + 8]
test sp, 0x678e
stc
test edi, edi
je 0x7862d9
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x7862d9
mov eax, 0x5a4d
stc
cmp word [edi], ax
je 0x78a07d
xor eax, eax
cmovb di, cx
pop edi
mov esp, ebp
movsx ebp, sp
cmovno bp, di
pop ebp
ret
mov edx, dword [edi + 0x3c]
test bh, 2
stc
lea edx, [edx + edi]
cmp dword [edx], 0x4550
jne 0x7862d9
mov eax, dword [edx + 0x78]
cmc
mov dword [ebp - 4], eax
clc
cmp dl, 8
test eax, eax
je 0x7862d9
mov edx, dword [edx + 0x7c]
push ebx
cmp esi, esp
test eax, esp
push esi
or esi, 0xffffffff
cmp esi, 0x66052fc
test ebp, edx
mov dword [ebp - 0x10], edx
cmp edx, 0x70c6009f
clc
test dx, 0x2904
mov dword [ebp - 8], esi
cmp ecx, 0xffff
ja 0x7928c1
sub ecx, dword [eax + edi + 0x10]
test edi, 0x29823c6b
cmp ecx, dword [eax + edi + 0x14]
jae 0x72d19c
mov edx, dword [eax + edi + 0x1c]
lea ecx, [edx + ecx*4]
stc
mov ecx, dword [ecx + edi]
cmp di, dx
test ecx, ecx
jne 0x72d151
pop esi
pop ebx
xor eax, eax
movsx edi, cx
pop edi
mov esp, ebp
mov bp, di
not ebp
movsx ebp, di
pop ebp
ret
mov ebx, esi
clc
sub ebx, eax
test ch, ah
stc
cmp ebx, 0x104
jae 0x72d19c
sub ecx, ecx
test ch, ch
test ebx, ebx
jbe 0x78d14a
lea edi, [ebp - 0x114]
sub edi, eax
mov dl, byte [eax]
stc
test dl, dl
je 0x78d14a
mov byte [edi + eax], dl
inc ecx
inc eax
cmp ecx, ebx
jb 0x78d132
lea eax, [ebp - 0x114]
push eax
mov ah, ch
mov byte [ebp + ecx - 0x114], 0
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleA]
call eax
mov edi, eax
clc
stc
test edi, edi
jne 0x78d18a
lea ecx, [ebp - 0x114]
push ecx
seto al
cwde
mov eax, dword [sym.imp.kernel32.dll_LoadLibraryA_1]
call eax
mov edi, eax
test edi, edi
je 0x72d19c
cmp byte [esi + 1], 0x23
lea ecx, [esi + 1]
je 0x72e583
push 0
push ecx
push edi
call fcn.0078629a
add esp, 0xc
mov di, 0x3335
pop esi
pop ebx
xchg edi, edi
mov di, 0x4977
pop edi
mov esp, ebp
cmovg bp, ax
pop ebp
ret
mov ebx, dword [eax + edi + 0x18]
test edi, ebx
stc
test ebx, ebx
je 0x72d12e
mov edx, dword [eax + edi + 0x20]
dec ebx
add edx, edi
test bx, sp
mov dword [ebp + 8], 0
mov dword [ebp - 0xc], edx
cmp dx, sp
stc
test ebx, ebx
jl 0x72d12e
jmp 0x782985
mov ecx, dword [ebp - 4]
cdq
mov eax, esi
mov edx, dword [ecx + edi + 0x24]
movzx cx, ah
movzx ecx, sp
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 0x72d115