Function at 0x434e2a
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push 0x14
mov eax, 0x50d8b2
call fcn.004ef9e2
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0xc]
push 0x51605c
lea ebx, [esi + 0x1c]
push 0x20
push ebx
call fcn.004ef010
fld dword [0x515f7c]
fstp dword [esi + 0x240]
add esp, 0xc
mov dword [esi + 0x18], 9
test byte [edi + 6], 2
je 0x434e84
fld dword [0x516058]
push str.DDR3L
push 0x20
fstp dword [esi + 0x240]
push ebx
call fcn.004ef010
add esp, 0xc
test byte [edi + 6], 4
je 0x434ea6
fld dword [0x515fe8]
push str.DDR3L
push 0x20
fstp dword [esi + 0x240]
push ebx
call fcn.004ef010
add esp, 0xc
movzx eax, byte [edi + 3]
and eax, 0xf
dec eax
je 0x434f88
dec eax
je 0x434f69
dec eax
je 0x434f44
dec eax
je 0x434f1f
dec eax
je 0x434ef7
dec eax
jne 0x434fb4
push 0x516044
lea eax, [esi + 0x1c4]
push 0x20
push eax
call fcn.00450b87
fld dword [0x516040]
mov dword [esi + 0x1e4], 0x20006
jmp 0x434fab
push str.Mini_RDIMM
lea eax, [esi + 0x1c4]
push 0x20
push eax
call fcn.00450b87
fld dword [0x516040]
mov dword [esi + 0x1e4], 0x20005
jmp 0x434fab
push 0x516028
lea eax, [esi + 0x1c4]
push 0x20
push eax
call fcn.00450b87
fld dword [0x516024]
mov dword [esi + 0x1e4], 0x20004
jmp 0x434fab
push 0x515fd8
lea eax, [esi + 0x1c4]
push 0x20
push eax
call fcn.00450b87
fld dword [0x516020]
mov dword [esi + 0x1e4], 0x20003
jmp 0x434fab
push str.UDIMM
lea eax, [esi + 0x1c4]
push 0x20
push eax
call fcn.00450b87
mov dword [esi + 0x1e4], 0x20002
jmp 0x434fa5
push 0x515fc4
lea eax, [esi + 0x1c4]
push 0x20
push eax
call fcn.00450b87
mov dword [esi + 0x1e4], 0x20001
fld dword [0x515fc0]
fstp dword [esi + 0x1e8]
add esp, 0xc
movzx eax, byte [edi + 4]
push 7
shr eax, 4
pop ebx
and eax, ebx
xor edx, edx
sub eax, edx
je 0x434ff3
dec eax
je 0x434fe7
dec eax
je 0x434fdb
dec eax
jne 0x434ffd
mov dword [esi + 0x1fc], 0x40
jmp 0x434ffd
mov dword [esi + 0x1fc], 0x20
jmp 0x434ffd
mov dword [esi + 0x1fc], 0x10
jmp 0x434ffd
mov dword [esi + 0x1fc], 8
movzx eax, byte [edi + 4]
or dword [ebp + 8], 0xffffffff
or dword [ebp - 0x10], 0xffffffff
or dword [ebp - 0x14], 0xffffffff
and eax, 0xf
cmp eax, 9
ja case.default.0x435015
jmp dword [eax*4 + 0x43583e]
mov dword [ebp + 8], 0x100
jmp case.default.0x435015
mov dword [ebp + 8], 0x200
jmp case.default.0x435015
mov dword [ebp + 8], 0x400
jmp case.default.0x435015
mov dword [ebp + 8], 0x800
jmp case.default.0x435015
mov dword [ebp + 8], 0x1000
jmp case.default.0x435015
mov dword [ebp + 8], 0x2000
jmp case.default.0x435015
mov dword [ebp + 8], 0x4000
jmp case.default.0x435015
mov dword [ebp + 8], 0x8000
jmp case.default.0x435015
mov dword [ebp + 8], 0x10000
jmp case.default.0x435015
mov dword [ebp + 8], 0x20000
movzx eax, byte [edi + 7]
mov ecx, eax
and ecx, ebx
sub ecx, edx
je 0x4350a4
dec ecx
je 0x43509b
dec ecx
je 0x435092
dec ecx
jne 0x4350ab
mov dword [ebp - 0x14], 0x20
jmp 0x4350ab
mov dword [ebp - 0x14], 0x10
jmp 0x4350ab
mov dword [ebp - 0x14], 8
jmp 0x4350ab
mov dword [ebp - 0x14], 4
shr eax, 3
and eax, ebx
sub eax, edx
je 0x4350f0
dec eax
je 0x4350e4
dec eax
je 0x4350d8
dec eax
je 0x4350cc
dec eax
jne 0x4350fa
mov dword [esi + 0x200], 8
jmp 0x4350fa
mov dword [esi + 0x200], 4
jmp 0x4350fa
mov dword [esi + 0x200], 3
jmp 0x4350fa
mov dword [esi + 0x200], 2
jmp 0x4350fa
mov dword [esi + 0x200], 1
movzx eax, byte [edi + 8]
and eax, ebx
sub eax, edx
je 0x435128
dec eax
je 0x43511f
dec eax
je 0x435116
dec eax
jne 0x43512f
mov dword [ebp - 0x10], 0x40
jmp 0x43512f
mov dword [ebp - 0x10], 0x20
jmp 0x43512f
mov dword [ebp - 0x10], 0x10
jmp 0x43512f
mov dword [ebp - 0x10], 8
push dword [ebp + 8]
call fcn.004049c0
pop ecx
test eax, eax
je 0x435188
push dword [ebp - 0x10]
call fcn.004049c0
pop ecx
test eax, eax
je 0x435188
push dword [ebp - 0x14]
call fcn.004049c0
pop ecx
test eax, eax
je 0x435188
mov ebx, dword [esi + 0x200]
push ebx
call fcn.004049c0
pop ecx
test eax, eax
je 0x435188
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [ebp + 8]
cdq
and edx, 7
add eax, edx
sar eax, 3
imul ecx, eax
imul ecx, ebx
mov dword [esi + 0x1bc], ecx
movzx eax, byte [edi + 0xa]
mov dword [ebp + 8], eax
movzx eax, byte [edi + 0xb]
fild dword [ebp + 8]
mov dword [ebp + 8], eax
movzx eax, byte [edi + 0xc]
fild dword [ebp + 8]
mov dword [ebp + 8], eax
fdivp st(1)
fstp dword [ebp - 0x14]
fild dword [ebp + 8]
fmul dword [ebp - 0x14]
fst dword [ebp + 8]
fld dword [ebp + 8]
fdivr qword [0x544c30]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fld qword [0x544c80]
fadd st(1), st(0)
fxch st(1)
call fcn.004efaf0
fld dword [ebp + 8]
fadd st(0), st(0)
mov dword [esi + 0x20c], eax
fmul qword [0x544ce0]
fdiv qword [0x544c28]
fadd st(1)
call fcn.004efaf0
fld qword [0x516018]
fdivrp st(2)
mov ebx, eax
imul ebx, ebx, 0x64
faddp st(1)
mov dword [esi + 0x208], ebx
call fcn.004efaf0
push ebx
push str.PC3__d
mov dword [esi + 0x210], eax
lea eax, [esi + 0x3c]
push 0x20
push eax
call fcn.00450b87
add esp, 0x10
test byte [edi + 0xe], 1
push 0xc
pop ebx
je 0x435260
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x435245
mov ecx, eax
call fcn.0042e410
jmp 0x435247
xor eax, eax
fld dword [0x515ea0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 2
je 0x43529f
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x435284
mov ecx, eax
call fcn.0042e410
jmp 0x435286
xor eax, eax
fld dword [0x515e9c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 4
je 0x4352de
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x4352c3
mov ecx, eax
call fcn.0042e410
jmp 0x4352c5
xor eax, eax
fld dword [0x515e98]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 8
je 0x43531d
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x435302
mov ecx, eax
call fcn.0042e410
jmp 0x435304
xor eax, eax
fld dword [0x515e94]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 0x10
je 0x43535c
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x435341
mov ecx, eax
call fcn.0042e410
jmp 0x435343
xor eax, eax
fld dword [0x515e90]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 0x20
je 0x43539b
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x435380
mov ecx, eax
call fcn.0042e410
jmp 0x435382
xor eax, eax
fld dword [0x515e8c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 0x40
je 0x4353da
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x4353bf
mov ecx, eax
call fcn.0042e410
jmp 0x4353c1
xor eax, eax
fld dword [0x515e88]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xe], 0x80
je 0x435419
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x4353fe
mov ecx, eax
call fcn.0042e410
jmp 0x435400
xor eax, eax
fld dword [0x515e84]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 1
je 0x435458
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x43543d
mov ecx, eax
call fcn.0042e410
jmp 0x43543f
xor eax, eax
fld dword [0x515e80]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 2
je 0x435497
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x43547c
mov ecx, eax
call fcn.0042e410
jmp 0x43547e
xor eax, eax
fld dword [0x515e7c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 4
je 0x4354d6
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xa
test eax, eax
je 0x4354bb
mov ecx, eax
call fcn.0042e410
jmp 0x4354bd
xor eax, eax
fld dword [0x515e78]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 8
je 0x435515
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x4354fa
mov ecx, eax
call fcn.0042e410
jmp 0x4354fc
xor eax, eax
fld dword [0x515e74]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 0x10
je 0x435550
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x435535
mov ecx, eax
call fcn.0042e410
jmp 0x435537
xor eax, eax
fld dword [0x515e70]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 0x20
je 0x43558f
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xd
test eax, eax
je 0x435574
mov ecx, eax
call fcn.0042e410
jmp 0x435576
xor eax, eax
fld dword [0x515e6c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0xf], 0x40
je 0x4355ce
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xe
test eax, eax
je 0x4355b3
mov ecx, eax
call fcn.0042e410
jmp 0x4355b5
xor eax, eax
fld dword [0x515e68]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
movzx eax, byte [edi + 0x10]
mov ecx, dword [esi + 0x20c]
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x18]
cmp ecx, 0x190
je 0x43565e
cmp ecx, 0x215
je 0x435648
cmp ecx, 0x29b
je 0x435626
cmp ecx, 0x320
jne 0x435682
cmp eax, 0x50
je 0x435657
cmp eax, 0x5a
je 0x43561f
cmp eax, 0x64
je 0x43563a
cmp eax, 0x6e
jne 0x435682
push 0x515eb8
jmp 0x435674
push 0x515eb4
jmp 0x435674
cmp eax, 0x54
je 0x435641
cmp eax, 0x60
je 0x435657
cmp eax, 0x6c
je 0x43561f
cmp eax, 0x78
jne 0x435682
push 0x515eb0
jmp 0x435674
push 0x515eac
jmp 0x435674
cmp eax, 0x5a
je 0x435668
cmp eax, 0x69
je 0x435641
cmp eax, 0x78
jne 0x435682
push 0x515ea8
jmp 0x435674
cmp eax, 0x64
je 0x43566f
cmp eax, 0x78
jne 0x435682
push str.EGFJHK
jmp 0x435674
push 0x514814
lea eax, [esi + 0x3c]
push 0x20
push eax
call fcn.00450c1b
add esp, 0xc
mov eax, dword [esi + 0x214]
and dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], eax
call fcn.004560b8
jmp 0x4356dd
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x4356d5
fld dword [ebp - 0x18]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdivr qword [0x544c30]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ecx + 8]
fld dword [ebp - 0x10]
fld dword [ebp + 8]
fcompp
fnstsw ax
test ah, 5
jp 0x4356d5
fld dword [ebp + 8]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x20]
call fcn.00450c7d
mov ecx, eax
test ecx, ecx
jne 0x435699
movzx eax, byte [edi + 0x12]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld dword [ebp - 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esi + 0x218]
movzx eax, byte [edi + 0x13]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld st(1)
fmulp st(1)
fstp dword [esi + 0x21c]
movzx eax, byte [edi + 0x14]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld st(1)
fmulp st(1)
fstp dword [esi + 0x220]
movzx eax, byte [edi + 0x15]
movzx ecx, byte [edi + 0x16]
and eax, 0xf
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld st(1)
fmulp st(1)
fstp dword [esi + 0x224]
movzx eax, byte [edi + 0x15]
movzx ecx, byte [edi + 0x17]
shr eax, 4
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fimul dword [ebp + 8]
fstp dword [esi + 0x228]
movzx eax, byte [edi + 0x3c]
and eax, 0x1f
mov dword [esi + 0x1ec], eax
movzx ebx, byte [edi + 0x75]
and ebx, 0x7f
cmp ebx, 0xf
jle 0x43577c
push 0xf
pop ebx
xor eax, eax
test ebx, ebx
jle 0x435793
push ebx
lea eax, [esi + 0x5c]
push 0x7f
push eax
call fcn.004ef550
add esp, 0xc
mov eax, ebx
mov cl, byte [edi + 0x76]
mov byte [eax + esi + 0x5c], cl
lea eax, [esi + 0x7c]
push eax
lea eax, [esi + 0x5c]
push eax
call fcn.0043107a
mov cl, byte [edi + 0x78]
mov al, cl
shr al, 4
mov dl, 0xa
imul dl
and cl, 0xf
add al, cl
mov byte [esi + 0x23c], al
mov cl, byte [edi + 0x79]
mov al, cl
shr al, 4
imul dl
and cl, 0xf
add al, cl
mov byte [esi + 0x23d], al
movzx eax, byte [edi + 0x7a]
movzx ecx, byte [edi + 0x7b]
shl eax, 8
add eax, ecx
movzx ecx, byte [edi + 0x7c]
shl eax, 8
add eax, ecx
movzx ecx, byte [edi + 0x7d]
shl eax, 8
add eax, ecx
push eax
push 0x5148bc
mov dword [esi + 0x1c0], eax
lea eax, [esi + 0x19c]
push 0x20
push eax
call fcn.00450b87
add esp, 0x18
push 0x12
lea eax, [esi + 0x17c]
sub edi, 0xffffff80
pop edx
mov cl, byte [edi]
cmp cl, 0xff
sete bl
dec bl
and bl, cl
inc edi
mov byte [eax], bl
inc eax
dec edx
jne 0x43581b
mov byte [esi + 0x18e], dl
call fcn.004efaba
ret 4