Function at 0x434222
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38c
mov dword [ebp - 0x58], 0x5a
xorps xmm1, xmm1
mov dword [ebp - 0x54], 0x63
mov dword [ebp - 0x50], 0x36
mov dword [ebp - 0x4c], 0xffffff0d
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x120], edx
xor edx, edx
push 0x4d
psubd xmm1, xmm0
mov dword [ebp - 0xf4], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x110], 0x3d
psrldq xmm0, 8
mov eax, edx
paddd xmm1, xmm0
mov dword [ebp - 0x10c], 0xffffff76
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x10], xmm1
pop ecx
add ecx, dword [ebp + eax*4 - 0x110]
inc eax
cmp eax, 2
jl 0x434296
push 8
mov dword [ebp - 0xf8], ecx
mov eax, edx
pop ecx
mov dword [ebp - 0x104], 0x12
mov dword [ebp - 0x100], 0x2b
mov dword [ebp - 0xfc], 0xffffffbb
add ecx, dword [ebp + eax*4 - 0x104]
inc eax
cmp eax, 3
jl 0x4342cc
mov eax, dword [0x44d7d0]
push esi
push edi
mov dword [ebp - 0x108], ecx
lea edi, [ebp - 0x44]
push 5
pop ecx
mov esi, 0x402b40
mov dword [ebp - 0x2c], 0x3533d1df
or eax, 0xf38f16f0
mov dword [ebp - 0x28], 0x89436515
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x44d910]
mov edi, edx
mov dword [ebp - 8], eax
mov eax, edx
mov dword [ebp - 0x24], 0xddfe6d3b
mov dword [ebp - 0x20], 0x9b028c4f
mov dword [ebp - 0x1c], 0x8bb40722
mov dword [ebp - 0x18], 0xcdedea88
mov byte [ebp + eax - 0x28c], al
lea ecx, [ecx - 0x238a81e4]
inc eax
cmp eax, 0x100
jb 0x43432f
mov esi, edx
mov dword [ebp - 0x14], 0x13
xor edx, edx
mov cl, byte [ebp + esi - 0x28c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x14]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x28c]
mov byte [ebp + esi - 0x28c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x28c], al
cmp esi, 0x100
jb 0x43434d
xor eax, eax
mov dword [ebp - 0xc], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + edi - 0x28c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + edi - 0x28c], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x28c], cl
movzx eax, byte [ebp + edi - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x170], al
inc esi
cmp esi, 0x18
jb 0x434397
mov esi, 0x402b54
mov dword [ebp - 0x47], 0xd43eeb21
lea edi, [ebp - 0x138]
mov dword [ebp - 0x43], 0x2f2f0544
xor edx, edx
mov dword [ebp - 0x3f], 0x74493a24
push 9
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x48], al
mov eax, edx
mov byte [ebp - 0x158], dl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x3b], 0x2ad5c2e
mov dword [ebp - 0x37], 0x961b65db
mov word [ebp - 0x33], 0xa1b3
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x31], 0x81
mov dword [ebp - 0xc], edx
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 8]
and esi, 0x5a6898d8
mov ecx, esi
or ecx, 0x618062a2
mov dword [ebp - 8], ecx
mov dword [0x44d910], ecx
mov byte [ebp + eax - 0x28c], al
inc eax
cmp eax, 0x100
jb 0x434459
mov edi, edx
xor edx, edx
mov dword [ebp - 0x14], 0xd
mov eax, edi
mov cl, byte [ebp + edi - 0x28c]
div dword [ebp - 0x14]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x138]
add eax, dword [ebp - 0xc]
add ecx, eax
movzx eax, cl
mov dword [ebp - 0xc], eax
xor eax, eax
cmp byte [str.tquery.dll], al
je 0x4344be
inc eax
cmp eax, 0x8c4
jg 0x4344b5
cmp byte [eax + str.tquery.dll], 0
jne 0x4344a2
jmp 0x4344be
mov esi, dword [ebp - 8]
or esi, 0x18cec0b4
or esi, 0x5808a3ad
sub esi, 0x4691bf8c
call fcn.0042c837
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ebp + edi - 0x28c], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x28c], al
cmp edi, 0x100
jb 0x43446a
xor eax, eax
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0x28c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x28c]
mov byte [ebp + esi - 0x28c], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x28c], cl
movzx eax, byte [ebp + esi - 0x28c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x28c]
xor al, byte [ebp + edi - 0x48]
mov byte [ebp + edi - 0x18c], al
inc edi
cmp edi, 0x18
jb 0x434503
push 9
pop esi
push 0x47
mov dword [ebp - 0x54], esi
xor eax, eax
mov esi, dword [ebp - 8]
pop ecx
mov dword [ebp - 0x58], 0x21
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], 0xffffff65
movups xmm1, xmmword [ebp - 0x58]
mov byte [ebp - 0x174], al
mov dword [ebp - 0x104], 1
movaps xmm0, xmm1
mov dword [ebp - 0x100], 0x2f
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xfc], 0xffffff89
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
add edi, 0x2b
sub esi, 0x7af960ba
add ecx, dword [ebp + eax*4 - 0x104]
inc eax
cmp eax, 3
jl 0x4345c7
mov dword [ebp - 0x58], 0x61
xorps xmm1, xmm1
mov dword [ebp - 0x54], 0xf
xor esi, 0xbc7e7115
mov dword [ebp - 0x50], 0x1a
mov dword [ebp - 0x4c], 0xffffff76
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x128], ecx
lea ecx, [ebp - 0x170]
mov dword [0x44d7d0], esi
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x10c], xmm1
call fcn.0043617c
mov esi, eax
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x124], esi
call fcn.0043617c
mov dword [ebp - 0x14], eax
test edi, edi
je 0x434ca3
mov edx, dword [0x44d7d0]
xor esi, esi
push 0x18
pop ecx
push 0xffffffffffffffba
pop eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x14c], eax
mov eax, dword [0x44d910]
mov dword [ebp - 0x148], 0x1b
mov dword [ebp - 0x144], 0x40
mov dword [ebp - 0x140], 0x14
mov dword [ebp - 0x13c], 0xffffffde
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x58], 0xa
mov dword [ebp - 0x54], 0x33
mov dword [ebp - 0x50], 0x64
mov dword [ebp - 0x4c], 0x334
mov dword [ebp - 0x24], 0x61
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x27
mov dword [ebp - 0x18], 0xffffff43
mov dword [ebp - 0x154], 0x1a
mov dword [ebp - 0x150], 0x2c
mov dword [ebp - 8], edx
movups xmm0, xmmword [ebp - 0x148]
push 0x2e
movups xmm3, xmmword [ebp - 0x58]
pop edx
movaps xmm1, xmm0
xorps xmm2, xmm2
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x2b
mov dword [ebp - 0x114], ecx
mov ecx, esi
add edx, dword [ebp + ecx*4 - 0x100]
and eax, 0x2b21aa35
inc ecx
cmp ecx, 2
jl 0x434726
movaps xmm1, xmm3
mov dword [ebp - 0x10], eax
paddd xmm1, xmm2
mov dword [ebp - 0x11c], edx
movaps xmm0, xmm1
mov dword [ebp - 0xf0], 0xdf444568
psrldq xmm0, 8
lea edi, [ebp - 0x48]
paddd xmm1, xmm0
mov dword [ebp - 0xec], 0xadbdf373
movups xmm0, xmm1
mov dword [ebp - 0xe8], 0x5f8d60cc
psrldq xmm0, 4
mov esi, 0x401f54
paddd xmm1, xmm0
mov dword [ebp - 0xe4], 0x3a51424b
push 9
movd eax, xmm1
mov dword [ebp - 0xe0], 0x87bd56bd
mov dword [ebp - 0xdc], 0x64c3a65f
add eax, 0x2b
mov dword [ebp - 0xd8], 0x8863aea2
mov dword [ebp - 0x118], eax
pop eax
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0x52
pop edx
push eax
movsw word es:[edi], word [esi]
mov ecx, 0x402c80
mov dword [ebp - 0xd4], 0x51efa62b
mov dword [ebp - 0xd0], 0x625c1df9
mov dword [ebp - 0xcc], 0x12315ed8
mov dword [ebp - 0xc8], 0x54f95982
mov dword [ebp - 0xc4], 0xf2376059
mov dword [ebp - 0xc0], 0xf1360772
mov dword [ebp - 0xbc], 0xa7a547fa
mov dword [ebp - 0xb8], 0x8265041d
mov word [ebp - 0xb4], 0xfe73
mov byte [ebp - 0xb2], 0x5e
mov byte [ebp - 0xb1], al
mov dword [ebp - 0xb0], 0xe225786e
mov dword [ebp - 0xac], 0x7c150a90
mov dword [ebp - 0xa8], 0xd98ad599
mov dword [ebp - 0xa4], 0xa4f270bc
mov dword [ebp - 0xa0], 0xaebec284
mov dword [ebp - 0x9c], 0xeade2453
mov dword [ebp - 0x98], 0xeedef329
mov dword [ebp - 0x94], 0xb35157f9
mov dword [ebp - 0x90], 0xd701ece1
mov dword [ebp - 0x8c], 0xb12178fe
mov dword [ebp - 0x88], 0xf2e8de25
mov dword [ebp - 0x84], 0xc3a21498
mov dword [ebp - 0x80], 0x7e03353f
mov dword [ebp - 0x7c], 0x79c9fb94
mov dword [ebp - 0x78], 0x7c4ba968
mov dword [ebp - 0x74], 0x2256ce60
mov dword [ebp - 0x70], 0xef72c477
mov dword [ebp - 0x6c], 0x4af9c6eb
mov dword [ebp - 0x68], 0x3d54ff40
mov dword [ebp - 0x64], 0x58593cd6
mov dword [ebp - 0x60], 0xee4812b3
mov dword [ebp - 0x5c], 0x105f9927
pop esi
lea eax, [edx - 0x30]
cmp ax, si
ja 0x43490d
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x4348f3
mov esi, dword [ebp - 0x10]
jmp 0x434914
imul esi, dword [ebp - 8], 0x107d474a
xor ecx, ecx
mov dword [ebp - 8], ecx
mov eax, ecx
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x43491b
mov edi, ecx
xor edx, edx
mov dword [ebp - 0x10], 0x19
mov eax, edi
mov cl, byte [ebp + edi - 0x38c]
div dword [ebp - 0x10]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x48]
add eax, dword [ebp - 8]
add ecx, eax
xor eax, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
cmp byte [str.tquery.dll], al
je 0x434982
inc eax
cmp eax, 0x2c5
je 0x434974
cmp byte [eax + str.tquery.dll], 0
jne 0x434961
jmp 0x434982
call fcn.0042c837
mov ecx, dword [ebp - 8]
or esi, 0x7a268ad2
or esi, 0x4aaccd63
mov edx, esi
mov al, byte [ebp + ecx - 0x38c]
add esi, 0x90b61529
mov byte [ebp + edi - 0x38c], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x38c], al
cmp edi, 0x100
jb 0x43492c
xor edi, edi
mov dword [0x44d910], esi
mov ecx, edi
mov eax, 0x402c80
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xb02
je 0x4349d7
cmp word [eax], di
jne 0x4349c4
jmp 0x4349e5
mov esi, edx
and esi, 0x2dddf516
mov dword [0x44d910], esi
or esi, 0xb4a17fa3
mov dword [0x44d7d0], esi
call fcn.0042c70c
xor ecx, ecx
mov dword [ebp - 8], ecx
mov eax, ecx
inc eax
movzx eax, al
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0xc]
mov cl, byte [ebp + eax - 0x38c]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x38c]
mov byte [ebp + esi - 0x38c], al
mov eax, dword [ebp - 8]
mov esi, dword [0x44d7d0]
add esi, 0xa2586689
mov dword [0x44d7d0], esi
mov byte [ebp + eax - 0x38c], cl
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x38c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x38c]
xor al, byte [ebp + edi - 0xf0]
mov byte [ebp + edi - 0x228], al
inc edi
mov eax, dword [ebp - 0xc]
cmp edi, 0x98
jb 0x4349fd
movups xmm1, xmmword [ebp - 0x24]
xor ecx, ecx
mov byte [ebp - 0x190], cl
xorps xmm2, xmm2
movaps xmm0, xmm1
mov edi, ecx
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x1d
mov dword [ebp - 0x10], eax
mov eax, esi
or eax, 0x7165556f
mov dword [0x44d910], eax
mov eax, ecx
sub edi, dword [ebp + eax*4 - 0x154]
inc eax
cmp eax, 3
jl 0x434ab8
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0x114]
jge 0x434c52
mov eax, dword [ebp - 0x118]
add eax, eax
push eax
push dword [ebp - 0x11c]
push dword [ebp - 0xf4]
call fcn.004360de
mov ecx, dword [ebp + 0x18]
add esp, 0xc
mov esi, dword [ebp - 0x108]
cmp esi, dword [ecx]
jne 0x434b4c
push 0x13
pop eax
mov dword [ebp - 0x3c], eax
xor edx, edx
mov eax, dword [0x44d910]
mov esi, edx
and eax, 0x16d22a26
mov dword [ebp - 0x44], 0x24
mov dword [0x44d7d0], eax
mov eax, edx
mov dword [ebp - 0x40], 0x38
mov dword [ebp - 0x38], 0x15
mov dword [ebp - 0x34], 0xffffff7c
sub esi, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 5
jl 0x434b38
mov edx, ecx
mov ecx, dword [ebp + 0x14]
call fcn.00431aa8
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.004369c6
mov edx, ecx
mov ecx, dword [ebp - 0xf4]
push eax
call fcn.00436393
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x228]
push dword [ebp + 0x10]
inc esi
push dword [ebp + 0xc]
mov dword [ebp - 0x108], esi
push dword [ebp - 0x120]
call fcn.0043ab3a
add esp, 0x14
mov dword [ebp - 0x10], eax
cmp eax, edi
jne 0x434bfc
imul ecx, dword [0x44d7d0], 0x2779ad7e
xor eax, eax
push 0x54
pop esi
push 3
mov dword [ebp - 0x134], 0x21
mov dword [0x44d7d0], ecx
pop ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x130], 0xffffff88
add esi, dword [ebp + eax*4 - 0x138]
inc eax
cmp eax, ecx
jl 0x434bc8
mov edi, dword [ebp - 0x14]
mov edx, edi
mov ecx, dword [ebp + 0xc]
call fcn.0043709c
cmp eax, esi
je 0x434bfc
mov esi, dword [ebp - 0x124]
mov ecx, eax
mov edx, esi
call fcn.00436c9e
test eax, eax
je 0x434ca5
mov ecx, dword [ebp + 8]
call fcn.00440eed
xor esi, esi
mov eax, esi
cmp byte [str.tquery.dll], al
je 0x434c34
inc eax
cmp eax, 0x178c
jg 0x434c28
cmp byte [eax + str.tquery.dll], 0
jne 0x434c10
cmp eax, 0x3da
jle 0x434c34
call fcn.0042c837
mov eax, dword [0x44d910]
jmp 0x434c3e
mov eax, dword [0x44d7d0]
add eax, 0x77b0a993
imul ecx, eax, 0xd2f3d586
inc dword [ebp - 0xf8]
mov dword [ebp - 8], ecx
jmp 0x4346ee
mov dword [ebp - 0x24], 0x4f
or esi, 0x55f8160b
mov dword [ebp - 0x20], 0x43
mov dword [ebp - 0x1c], 0x28
mov dword [ebp - 0x18], 0xffffff18
movups xmm1, xmmword [ebp - 0x24]
mov dword [0x44d7d0], esi
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x2e
jmp 0x434cfa
mov edi, eax
imul eax, dword [0x44d910], 0x3929e9a7
mov ecx, esi
mov dword [0x44d7d0], eax
call fcn.004369c6
push eax
push dword [ebp - 0x128]
push esi
call fcn.004360de
mov ecx, edi
call fcn.004369c6
push eax
push dword [ebp - 0x10c]
push edi
call fcn.004360de
sub dword [0x44d910], 0x7a01344e
add esp, 0x18
mov ecx, esi
call fcn.0041e600
mov ecx, edi
call fcn.0041e600
mov eax, dword [ebp - 0x10]
pop edi
pop esi
leave
ret