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

Disassembly:
pop esi
movzx eax, si
mov ebx, esi
not bh
pop ebx
movzx eax, dx
mov ax, di
lea eax, [ecx + edi]
xchg edi, edi
pop edi
mov esp, ebp
movsx ebp, di
pop ebp
ret
mov ecx, dword [ebp - 4]
cdq
rdtsc
mov edx, dword [ecx + edi + 0x24]
setge cl
cbw
bswap ax
lea eax, [edx + esi*2]
movzx ecx, sp
bswap ecx
movzx ecx, word [eax + edi]
cmovo dx, dx
lea edx, [ebx + 1]
mov dword [ebp - 8], ecx
mov dword [ebp + 8], edx
jmp 0x102383c0
mov ebx, esi
cmp edi, edx
sub ebx, eax
test ebp, 0x466c2238
cmp ebx, 0x104
jae 0x1023844c
xor ecx, ecx
clc
test ebx, ebx
jbe 0x1021fec0
lea edi, [ebp - 0x114]
rcl dl, 0x5b
adc dl, 0x1c
sub edi, eax
xadd dl, dl
mov dl, byte [eax]
test bp, ax
test si, 0x450e
cmc
test dl, dl
je 0x1021fec0
mov byte [edi + eax], dl
inc ecx
inc eax
cmc
test dl, 0x53
cmp ecx, ebx
jb 0x1021fe9c
lea eax, [ebp - 0x114]
push eax
mov byte [ebp + ecx - 0x114], 0
call 0x1017f393
mov edi, eax
stc
test edi, edi
jne 0x1021fef6
lea ecx, [ebp - 0x114]
push ecx
call dword [0x10084024]
mov edi, eax
test edi, edi
je 0x1023844c
cmp byte [esi + 1], 0x23
not cx
lea ecx, [esi + 1]
je 0x103f2fa5
push 0
push ecx
push edi
call fcn.1029a2ac
add esp, 0xc
pop esi
cmova ebx, edi
movsx bx, dh
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
lea ebx, [esi - 1]
cmc
clc
cmp dword [ebp + 8], ebx
jle 0x102fbd47
mov eax, dword [ebp - 4]
or si, 0x36b1
neg si
sbb si, 0x1fac
mov esi, dword [ebp - 8]
cmp esi, dword [eax + edi + 0x14]
jae 0x1023844c
mov ecx, dword [eax + edi + 0x1c]
rcl dh, 0x95
lea edx, [ecx + esi*4]
cmp bx, di
mov ecx, dword [edx + edi]
clc
test ecx, ecx
je 0x1023844c
cmp ecx, eax
jb 0x100717c0
mov edx, dword [ebp - 0x10]
test ch, dh
add edx, eax
stc
cmp ecx, edx
jae 0x100717c0
lea eax, [ecx + edi]
dec cl
mov cl, byte [eax]
stc
bt si, bx
mov esi, eax
cmc
test cl, cl
je 0x1023844c
mov edi, edi
test bp, 0x263e
cmp esi, edi
cmp cl, 0x2e
je 0x1021fe68
mov cl, byte [esi + 1]
inc esi
test cl, cl
jne 0x10238437
pop esi
test dx, bx
pop ebx
btc edi, 0x2c
sar di, 0x79
sub eax, eax
mov edi, 0x5e2b40ae
xchg edi, edi
not edi
pop edi
mov esp, ebp
movsx ebp, dx
pop ebp
ret
push ebp
mov ebp, esp
stc
sub esp, 0x114
test ch, 0xae
push edi
cmp dl, cl
dec di
mov edi, dword [ebp + 8]
test edi, edi
je 0x1029a2e6
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1029a2e6
mov eax, 0x5a4d
cmc
test ebp, edi
cmp word [edi], ax
je 0x103a09bc
sub eax, eax
pop edi
mov esp, ebp
bswap ebp
cmovs bp, bx
pop ebp
ret
mov ecx, dword [ebp + 0xc]
and si, 0x126c
btr esi, esp
test sp, 0x141e
mov edx, dword [ebp - 0xc]
xor si, 0x1f17
btr eax, 0xe7
btc eax, edx
mov eax, dword [ebp + 8]
bts esi, ebx
lea esi, [ebx + eax]
add eax, esp
mov eax, dword [ebp + 0x10]
push eax
stc
or al, bh
sar esi, 1
mov eax, dword [edx + esi*4]
add eax, edi
call fcn.103d7442
lea esp, [esp + 4]
cmp eax, 0xffffffff
je 0x102383bb
test eax, eax
je 0x100747a9
cmp eax, 1
jne 0x102383c0
inc esi
mov dword [ebp + 8], esi
jmp 0x102383c0
mov edx, dword [edi + 0x3c]
test ax, dx
cmp esi, ecx
lea edx, [edx + edi]
stc
cmp bp, ax
cmp dword [edx], 0x4550
jne 0x1029a2e6
mov eax, dword [edx + 0x78]
clc
mov dword [ebp - 4], eax
test eax, eax
je 0x1029a2e6
mov edx, dword [edx + 0x7c]
cmp ax, si
push ebx
test esp, edi
cmp dh, 0xbc
cmc
push esi
cmc
or esi, 0xffffffff
cmc
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], esi
stc
cmp ecx, 0xffff
ja 0x103fda4b
sub ecx, dword [eax + edi + 0x10]
cmp ecx, dword [eax + edi + 0x14]
jae 0x1023844c
mov edx, dword [eax + edi + 0x1c]
test ax, si
lea ecx, [edx + ecx*4]
mov ecx, dword [ecx + edi]
cmp si, 0x44a0
test ecx, ecx
jne 0x102383ff
pop esi
pop ebx
shld di, dx, 0x76
xor eax, eax
movsx edi, bx
movzx edi, cx
pop edi
mov esp, ebp
xchg ebp, ebp
bswap bp
pop ebp
ret
mov cl, byte [esi + 2]
cmc
add esi, 2
xor edx, edx
test cl, cl
je 0x103f2fe9
mov al, cl
test ebx, 0x6ade4e36
sub al, 0x30
inc esi
test bl, 0x91
cmp al, 9
ja 0x103f2fe9
movsx eax, cl
adc cl, 0x2e
shr cl, 0xa8
mov cl, byte [esi]
lea edx, [edx + edx*4]
test sp, dx
lea edx, [eax + edx*2 - 0x30]
test cl, cl
jne 0x103f2fb6
push 0
push edx
push edi
call fcn.1029a2ac
add esp, 0xc
xchg esi, edi
bswap ebx
pop esi
movsx ebx, sp
pop ebx
xchg di, di
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [eax + edi + 0x18]
test cl, al
test sp, 0x51cd
cmp ch, 0xef
test ebx, ebx
je 0x102383dc
mov edx, dword [eax + edi + 0x20]
dec ebx
test ch, ch
add edx, edi
clc
test bx, dx
mov dword [ebp + 8], 0
mov dword [ebp - 0xc], edx
cmp si, 0x4772
clc
test dh, cl
test ebx, ebx
jl 0x102383dc
jmp 0x102fbd66