Function at 0x4338e0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
sub esp, 0x14
mov eax, dword [0x80e01c]
push ebx
push ebp
push esi
push edi
push eax
call fcn.004504e0
mov ecx, dword [0x80e01c]
add esp, 4
movsx edx, word [eax]
mov esi, dword [ecx + 0x40]
mov dword [esp + 0x18], pe_nt_image_headers32
add edx, esi
mov dword [0x804720], edx
mov ebp, dword [ecx + 0x40]
movsx edx, word [eax + 2]
add edx, ebp
mov dword [0x804724], edx
mov ebx, dword [ecx + 0x44]
movsx edx, word [eax + 4]
add edx, ebx
mov dword [0x804728], edx
mov edi, dword [ecx + 0x44]
movsx edx, word [eax + 6]
add edx, edi
mov dword [0x80472c], edx
mov esi, dword [ecx + 0x48]
movsx edx, word [eax + 8]
add edx, esi
mov esi, 0x801301
mov dword [0x804730], edx
mov edx, dword [ecx + 0x48]
movsx eax, word [eax + 0xa]
add eax, edx
mov dword [0x804734], eax
mov al, byte [esi - 1]
test al, al
je 0x433cf8
mov bl, byte [esi + 0xc]
dec bl
mov byte [esp + 0x13], bl
mov byte [esi + 0xc], bl
jne 0x433994
mov al, byte [esi + 0xf]
cmp al, 0xff
je 0x43398b
movsx ecx, al
mov byte [ecx*8 + 0x8046e0], 0
mov byte [esi - 1], 0
jmp 0x433cf8
xor edx, edx
mov eax, ebx
mov dl, byte [esi + 0xb]
and eax, 0xff
mov edi, edx
xor ecx, ecx
mov cl, byte [esi + 9]
sub edi, eax
cmp edi, ecx
jge 0x433a0d
mov eax, edi
shl eax, 0x10
cdq
idiv ecx
mov cl, byte [esi]
xor edx, edx
mov dl, byte [esi + 3]
mov ebp, ecx
and ebp, 0xff
sub edx, ebp
imul edx, eax
sar edx, 0x10
add dl, cl
mov cl, byte [esi + 1]
mov byte [esi + 6], dl
xor edx, edx
mov dl, byte [esi + 4]
mov ebp, ecx
and ebp, 0xff
sub edx, ebp
imul edx, eax
sar edx, 0x10
add dl, cl
mov cl, byte [esi + 2]
mov byte [esi + 7], dl
xor edx, edx
mov dl, byte [esi + 5]
mov ebp, ecx
and ebp, 0xff
sub edx, ebp
imul edx, eax
sar edx, 0x10
add dl, cl
mov byte [esi + 8], dl
jmp 0x433a81
mov cl, byte [esi + 0xa]
cmp bl, cl
jae 0x433a69
and ecx, 0xff
xor ebx, ebx
sub eax, ecx
mov bl, byte [esi + 5]
shl eax, 0x10
cdq
idiv ecx
xor ecx, ecx
xor edx, edx
mov cl, byte [esi + 3]
mov dl, byte [esi + 4]
add eax, 0x10000
imul ecx, eax
imul edx, eax
imul ebx, eax
sar ecx, 0x10
sar edx, 0x10
sar ebx, 0x10
cmp cl, 8
mov byte [esi + 6], cl
mov byte [esi + 7], dl
mov byte [esi + 8], bl
jae 0x433a7d
cmp dl, 8
jae 0x433a7d
cmp bl, 8
jae 0x433a7d
mov byte [esi - 1], 0
jmp 0x433cf8
mov al, byte [esi + 3]
mov cl, byte [esi + 4]
mov dl, byte [esi + 5]
mov byte [esi + 6], al
mov byte [esi + 7], cl
mov byte [esi + 8], dl
jmp 0x433a81
mov bl, byte [esp + 0x13]
cmp bl, byte [esi + 0xa]
jne 0x433a98
mov ax, word [esi - 0xb]
and eax, 0x800
test ax, ax
je 0x433a98
shr byte [esi - 8], 2
mov dx, word [esi - 0xb]
test dl, 0x10
je 0x433ab4
movsx cx, byte [esi - 3]
add cx, word [esi - 0xd]
and ecx, 0xfff
mov word [esi - 0xd], cx
mov cl, byte [esi + 0xe]
mov eax, ecx
and eax, 0xff
mov ebx, eax
shr ebx, 3
cmp edi, ebx
jne 0x433b59
test cl, 7
je 0x433b59
mov ecx, edx
and ecx, 0x800
test cx, cx
je 0x433ae8
mov ebx, 1
jmp 0x433af4
movsx ebx, dx
and ebx, 0x2000
shr ebx, 0xc
xor edi, edi
and eax, 7
jle 0x433b2c
movzx dx, byte [esi + 0x11]
movsx ecx, byte [esi + 0xf]
push edx
mov edx, dword [esi - 0x19]
push ebx
dec eax
push ecx
mov ecx, dword [esi - 0x21]
push eax
mov eax, dword [esi - 0x1d]
push edx
push eax
push ecx
call fcn.00434480
mov al, byte [esi + 0xe]
add esp, 0x1c
inc edi
and eax, 7
cmp edi, eax
mov byte [esi + 0xf], 0xff
jl 0x433afb
mov dx, word [esi - 0xb]
and edx, 0x800
test dx, dx
je 0x433b55
movzx ax, byte [esi + 0x11]
mov ecx, dword [esi - 0x19]
mov edx, dword [esi - 0x1d]
push eax
mov eax, dword [esi - 0x21]
push ecx
push edx
push eax
call fcn.00435ab0
add esp, 0x10
mov byte [esi + 0xe], 0
xor ecx, ecx
xor edx, edx
mov cl, byte [esi + 0xb]
mov dl, byte [esi + 0xc]
mov eax, ecx
sub eax, edx
shl eax, 0x10
cdq
idiv ecx
mov cx, word [esi - 0xf]
mov dl, byte [esi - 2]
add cx, word [esi - 0x13]
test dl, dl
mov word [esi - 0x13], cx
je 0x433baf
test cx, cx
jge 0x433b95
movsx edi, dl
movsx ebx, cx
shl edi, 5
cmp ebx, edi
jl 0x433ba4
test cx, cx
jle 0x433baf
movsx edi, dl
movsx ecx, cx
shl edi, 5
cmp ecx, edi
jle 0x433baf
movsx dx, dl
shl edx, 5
mov word [esi - 0x13], dx
mov bl, byte [esi - 6]
mov cl, bl
and cl, 0xf
je 0x433bdb
mov dx, word [esi - 0x15]
movzx cx, cl
mov edi, edx
sar di, cl
sub edx, edi
mov word [esi - 0x15], dx
mov dx, word [esi - 0x11]
mov edi, edx
sar di, cl
sub edx, edi
mov word [esi - 0x11], dx
mov cl, bl
shr cl, 4
je 0x433bf1
mov dx, word [esi - 0x13]
mov edi, edx
sar di, cl
sub edx, edi
mov word [esi - 0x13], dx
movsx ecx, word [esi - 0x15]
mov edx, dword [esi - 0x21]
mov edi, dword [esi - 0x1d]
sar ecx, 5
add ecx, edx
movsx edx, word [esi - 0x13]
sar edx, 5
mov dword [esi - 0x21], ecx
lea ebp, [edx + edi]
mov edi, dword [esi - 0x19]
movsx edx, word [esi - 0x11]
sar edx, 5
add edx, edi
mov di, word [esi - 0xb]
mov ebx, edi
mov dword [esi - 0x1d], ebp
and ebx, 0x100
mov dword [esi - 0x19], edx
test bx, bx
je 0x433c4a
mov ebx, dword [0x804d40]
sar ebx, 1
add ebx, ecx
mov ecx, dword [0x804d44]
sar ecx, 1
add ecx, edx
mov dword [esi - 0x21], ebx
mov dword [esi - 0x19], ecx
mov cl, byte [esi - 9]
xor edx, edx
mov dl, byte [esi - 8]
mov ebx, ecx
and ebx, 0xff
sub edx, ebx
mov ebx, edi
imul edx, eax
sar edx, 0x10
and ebx, 1
add dl, cl
test bx, bx
mov byte [esi - 7], dl
je 0x433c7a
test byte [0x80df04], 8
je 0x433c85
and edi, 0x400
test di, di
je 0x433cf8
mov cl, byte [esi - 5]
mov eax, dword [esi - 0x21]
and edx, 0xff
mov edi, dword [0x804720]
shl edx, cl
sar edx, 1
lea ecx, [eax + edx]
cmp ecx, edi
jle 0x433cf8
mov ecx, dword [0x804724]
sub eax, edx
cmp eax, ecx
jge 0x433cf8
mov ecx, dword [0x804728]
lea eax, [edx + ebp]
cmp eax, ecx
jle 0x433cf8
mov eax, dword [0x80472c]
sub ebp, edx
cmp ebp, eax
jge 0x433cf8
mov eax, dword [esi - 0x19]
mov edi, dword [0x804730]
lea ecx, [eax + edx]
cmp ecx, edi
jle 0x433cf8
mov ecx, dword [0x804734]
sub eax, edx
cmp eax, ecx
jge 0x433cf8
test bx, bx
je 0x433cee
call fcn.00414d90
jmp 0x433cf8
mov eax, dword [0x80e01c]
add word [eax + 0x22], 0xfffe
mov eax, dword [esp + 0x18]
add esi, 0x34
dec eax
mov dword [esp + 0x18], eax
jne 0x433960
mov edi, 0x801310
mov dword [esp + 0x20], pe_nt_image_headers32
mov dword [esp + 0x18], edi
mov al, byte [edi - 0x10]
test al, al
je 0x433eac
mov al, byte [edi]
cmp al, 0xff
je 0x433eac
movsx edx, al
mov cl, byte [edx*8 + 0x8046e5]
lea eax, [edx*8 + 0x8046e0]
test cl, 3
mov dword [esp + 0x14], eax
je 0x433eac
call fcn.0048eb50
mov ebx, dword [edi - 0x30]
mov ebp, eax
mov edx, dword [edi - 0x2c]
and ebp, 0xf
shl ebp, 4
add ebp, ebx
mov esi, eax
mov ebx, eax
sar esi, 4
and ebx, 0xf0
mov ecx, esi
add ebx, edx
mov edx, dword [edi - 0x28]
and ecx, 0xf0
add ecx, edx
xor edx, edx
mov dl, byte [edi - 4]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov cl, byte [edi - 3]
sub edx, ecx
dec edx
cmp edx, 2
jge 0x433de0
mov ecx, dword [esp + 0x14]
mov cl, byte [ecx + 1]
cmp cl, 0x1c
jae 0x433daf
mov esi, dword [esp + 0x14]
add cl, 6
mov byte [esi + 1], cl
mov edi, eax
lea eax, [edx*8]
mov ecx, 0xff
mov esi, 0xff
sub ecx, eax
mov eax, edx
shl eax, 4
sub esi, eax
mov eax, 0xff
shl edx, 6
and edi, 0x1f
sub eax, edx
sub ecx, edi
sub esi, edi
sub eax, edi
jmp 0x433e4f
cmp edx, 4
jge 0x433e25
mov ecx, dword [esp + 0x14]
mov cl, byte [ecx + 1]
cmp cl, 0x1c
jae 0x433dfb
mov esi, dword [esp + 0x14]
add cl, 6
mov byte [esi + 1], cl
mov esi, edx
and eax, 0x1f
neg esi
shl esi, 3
mov ecx, esi
add esi, 0x80
sub ecx, eax
mov eax, 4
sub eax, edx
add ecx, 0xff
shl eax, 5
jns 0x433e4f
xor eax, eax
jmp 0x433e4f
mov edx, dword [esp + 0x14]
mov cl, byte [edx + 1]
test cl, cl
jbe 0x433e35
dec cl
mov byte [edx + 1], cl
mov ecx, eax
and esi, 0x1f
and ecx, 0x1f
add esi, 0x80
sar eax, 8
add ecx, 0xe0
and eax, 0x3f
mov edx, dword [esp + 0x18]
mov dx, word [edx - 0x1a]
and edx, 0x2000
test dx, dx
mov edx, dword [esp + 0x14]
mov dl, byte [edx + 1]
je 0x433e83
cmp dl, 0x1f
jbe 0x433e78
push esi
push ecx
mov edx, 0x1f
push eax
jmp 0x433e98
push esi
push ecx
and edx, 0xff
push eax
jmp 0x433e98
cmp dl, 0x1f
jbe 0x433e8f
mov edx, 0x1f
jmp 0x433e95
and edx, 0xff
push eax
push esi
push ecx
mov eax, dword [esp + 0x28]
push edx
push eax
push ebx
push ebp
call fcn.00435bf0
mov edi, dword [esp + 0x34]
add esp, 0x1c
mov eax, dword [esp + 0x20]
add edi, 0x34
dec eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], eax
jne 0x433d1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret