Function at 0x4a8370
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0xd7c5dee6
mov esi, ecx
mov dword [ebp - 0x3c], 0xc2d0dac1
push edi
mov dword [ebp - 0x38], 0xd4dcc8f8
xor ecx, ecx
mov byte [ebp - 0x34], 0xfa
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 0xd
jb 0x4a83b0
mov dword [0x56557c], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a83e2
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f94], eax
cmp ecx, 0x10
jb 0x4a8446
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a843c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8ae2
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x551c80]
xor ecx, ecx
movups xmmword [ebp - 0x45], xmm0
mov word [ebp - 0x35], 0x81d1
xorps xmm0, xmm0
mov dword [ebp - 0x23], 0
movups xmmword [ebp - 0x33], xmm0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x45], al
inc ecx
cmp ecx, 0x12
jb 0x4a8471
mov dword [0x5655dc], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x45]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a84a3
sub ecx, edx
lea eax, [ebp - 0x45]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f98], eax
cmp ecx, 0x10
jb 0x4a8501
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a84f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8ae7
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552750]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov dword [ebp - 0x23], 0
xorps xmm0, xmm0
mov word [ebp - 0x1f], 0
movups xmmword [ebp - 0x33], xmm0
mov byte [ebp - 0x1d], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x4a8526
mov dword [0x565628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x43]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8558
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f8c], eax
cmp ecx, 0x10
jb 0x4a85b6
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a85ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8aec
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552760]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov dword [ebp - 0x23], 0
xorps xmm0, xmm0
mov word [ebp - 0x1f], 0
movups xmmword [ebp - 0x33], xmm0
mov byte [ebp - 0x1d], 0
nop dword [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x4a85e0
mov dword [0x565628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x43]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8612
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f84], eax
cmp ecx, 0x10
jb 0x4a8670
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a8666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8af1
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552770]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov dword [ebp - 0x23], 0
xorps xmm0, xmm0
mov word [ebp - 0x1f], 0
movups xmmword [ebp - 0x33], xmm0
mov byte [ebp - 0x1d], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x4a8695
mov dword [0x565628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x43]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a86c7
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f9c], eax
cmp ecx, 0x10
jb 0x4a8725
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a871b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8af6
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x41], 0xc2c5c4e7
mov dword [ebp - 0x3d], 0xc4d0c1e2
xor ecx, ecx
mov dword [ebp - 0x39], 0xdcd7f1ce
mov word [ebp - 0x35], 0xfdd4
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x41], al
inc ecx
cmp ecx, 0xe
jb 0x4a8760
mov dword [0x565524], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x41]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8792
sub ecx, edx
lea eax, [ebp - 0x41]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f90], eax
cmp ecx, 0x10
jb 0x4a87f0
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a87e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8afb
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x551860]
xor ecx, ecx
movups xmmword [ebp - 0x47], xmm0
mov dword [ebp - 0x37], 0x83afafd6
xorps xmm0, xmm0
mov dword [ebp - 0x23], 0
movups xmmword [ebp - 0x33], xmm0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x47], al
inc ecx
cmp ecx, 0x14
jb 0x4a8820
mov dword [0x565540], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x47]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8852
sub ecx, edx
lea eax, [ebp - 0x47]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f78], eax
cmp ecx, 0x10
jb 0x4a88b0
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a88a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8b00
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552740]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov dword [ebp - 0x23], 0
xorps xmm0, xmm0
mov word [ebp - 0x1f], 0
movups xmmword [ebp - 0x33], xmm0
mov byte [ebp - 0x1d], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x4a88d5
mov dword [0x565628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x43]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8907
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f88], eax
cmp ecx, 0x10
jb 0x4a8965
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a895b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8b05
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552200]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov dword [ebp - 0x23], 0
xorps xmm0, xmm0
mov word [ebp - 0x1f], 0
movups xmmword [ebp - 0x33], xmm0
mov byte [ebp - 0x1d], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x4a8990
mov dword [0x565628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x43]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a89c2
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f80], eax
cmp ecx, 0x10
jb 0x4a8a20
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a8a16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8b0a
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x551bf0]
xor ecx, ecx
movups xmmword [ebp - 0x46], xmm0
mov word [ebp - 0x36], 0xacdb
xorps xmm0, xmm0
mov byte [ebp - 0x34], 0xa4
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x46], al
inc ecx
cmp ecx, 0x13
jb 0x4a8a50
mov dword [0x5655a8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x46]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov dword [ebp - 8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8a82
sub ecx, edx
lea eax, [ebp - 0x46]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402c40
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push esi
call edi
mov ecx, dword [ebp - 8]
mov dword [0x564f7c], eax
cmp ecx, 0x10
jb 0x4a8adc
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4a8ad2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8b0f
push ecx
push edx
call fcn.00504f31
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
int3