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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
movaps xmm0, xmmword [0x5471b0]
push esi
mov esi, ecx
mov dword [ebp - 0x40], 0xeffde6ce
push edi
mov word [ebp - 0x3c], 0xe2f9
xor ecx, ecx
mov byte [ebp - 0x3a], 0xe8
movups xmmword [ebp - 0x39], xmm0
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 0xd
jb 0x49e5b8
mov dword [0x55d57c], 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
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e5f0
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf94], eax
cmp ecx, 0x10
jb 0x49e654
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49e64a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ec87
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549ec0]
xor ecx, ecx
movups xmmword [ebp - 0x45], xmm0
mov word [ebp - 0x35], 0xd9f9
xorps xmm0, xmm0
mov word [ebp - 0x2b], 0
movq qword [ebp - 0x33], xmm0
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x45], al
inc ecx
cmp ecx, 0x12
jb 0x49e675
mov dword [0x55d5dc], 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 0x49e6a7
sub ecx, edx
lea eax, [ebp - 0x45]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf98], eax
cmp ecx, 0x10
jb 0x49e705
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49e6fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ec8c
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x5492f0]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov word [ebp - 0x2b], 0
xorps xmm0, xmm0
movq qword [ebp - 0x33], xmm0
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x49e720
mov dword [0x55d628], 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 0x49e752
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf8c], eax
cmp ecx, 0x10
jb 0x49e7b0
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49e7a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ec91
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549310]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov word [ebp - 0x2b], 0
xorps xmm0, xmm0
movq qword [ebp - 0x33], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x49e7d0
mov dword [0x55d628], 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 0x49e802
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf84], eax
cmp ecx, 0x10
jb 0x49e860
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49e856
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ec96
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549320]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov word [ebp - 0x2b], 0
xorps xmm0, xmm0
movq qword [ebp - 0x33], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x49e880
mov dword [0x55d628], 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 0x49e8b2
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf9c], eax
cmp ecx, 0x10
jb 0x49e910
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49e906
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ec9b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x547230]
xor ecx, ecx
mov dword [ebp - 0x41], 0xfafdfccf
mov dword [ebp - 0x3d], 0xfce8f9da
movups xmmword [ebp - 0x39], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x41], al
inc ecx
cmp ecx, 0xe
jb 0x49e930
mov dword [0x55d524], 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 0x49e962
sub ecx, edx
lea eax, [ebp - 0x41]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf90], eax
cmp ecx, 0x10
jb 0x49e9c0
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49e9b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49eca0
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549450]
xor ecx, ecx
movups xmmword [ebp - 0x47], xmm0
mov dword [ebp - 0x37], 0xdbf7f7fe
xorps xmm0, xmm0
mov word [ebp - 0x2b], 0
movq qword [ebp - 0x33], xmm0
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x47], al
inc ecx
cmp ecx, 0x14
jb 0x49e9e2
mov dword [0x55d540], 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 0x49ea14
sub ecx, edx
lea eax, [ebp - 0x47]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf78], eax
cmp ecx, 0x10
jb 0x49ea72
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ea68
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49eca5
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549300]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov word [ebp - 0x2b], 0
xorps xmm0, xmm0
movq qword [ebp - 0x33], xmm0
nop dword [eax]
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x49ea90
mov dword [0x55d628], 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 0x49eac2
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf88], eax
cmp ecx, 0x10
jb 0x49eb20
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49eb16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ecaa
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549ab0]
xor ecx, ecx
movups xmmword [ebp - 0x43], xmm0
mov word [ebp - 0x2b], 0
xorps xmm0, xmm0
movq qword [ebp - 0x33], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 0x10
jb 0x49eb40
mov dword [0x55d628], 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 0x49eb72
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf80], eax
cmp ecx, 0x10
jb 0x49ebd0
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ebc6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ecaf
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x549d70]
xor ecx, ecx
movups xmmword [ebp - 0x46], xmm0
mov word [ebp - 0x36], 0xf4f3
xorps xmm0, xmm0
mov byte [ebp - 0x34], 0xfc
movq qword [ebp - 0x33], xmm0
mov word [ebp - 0x2b], 0
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x46], al
inc ecx
cmp ecx, 0x13
jb 0x49ebf5
mov dword [0x55d5a8], 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 0x49ec27
sub ecx, edx
lea eax, [ebp - 0x46]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402b80
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 [0x55cf7c], eax
cmp ecx, 0x10
jb 0x49ec81
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ec77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ecb4
push ecx
push edx
call fcn.004fb0f1
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
call fcn.00500390
int3