Function at 0x4407b0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52b189
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
push esi
mov eax, ecx
push edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 4], 2
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
sub esp, 0x18
mov dword [ebp - 0xd0], 1
lea eax, [ebp + 8]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.0048ac50
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x164]
call fcn.00414d80
add esp, 0x18
mov byte [ebp - 4], 4
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov byte [ebp - 4], 5
xor edx, edx
mov byte [ebp - 0x5c], 0x14
mov esi, 0xf
mov byte [ebp - 0x5b], 0x20
mov byte [ebp - 0x5a], 7
mov byte [ebp - 0x59], 0x49
mov byte [ebp - 0x58], 4
mov byte [ebp - 0x57], 0x41
mov byte [ebp - 0x56], 0x2d
mov byte [ebp - 0x55], 0x1c
mov byte [ebp - 0x54], 0x28
mov byte [ebp - 0x53], 0x11
mov byte [ebp - 0x52], 0x26
mov byte [ebp - 0x51], 0xb5
mov byte [ebp - 0x50], 0xd6
mov byte [ebp - 0x4f], 0xde
mov byte [ebp - 0x4e], 0xa2
mov byte [ebp - 0x4d], 0xaa
mov byte [ebp - 0x4c], 0xdc
mov byte [ebp - 0x4b], 0xda
mov byte [ebp - 0x4a], 0xa7
mov byte [ebp - 0x49], 0xa5
mov byte [ebp - 0x48], 0xad
mov byte [ebp - 0x47], 0xa2
mov byte [ebp - 0x46], 0xa3
mov byte [ebp - 0x45], 0xac
mov byte [ebp - 0x44], 0xdc
mov byte [ebp - 0x43], 0xdf
mov byte [ebp - 0x42], 0xa9
mov byte [ebp - 0x41], 0xb5
mov byte [ebp - 0x40], 0xb9
mov byte [ebp - 0x3f], 0xcd
mov byte [ebp - 0x3e], 0xc7
mov byte [ebp - 0x3d], 0xce
mov byte [ebp - 0x3c], 0xb2
mov byte [ebp - 0x3b], 0xcc
mov byte [ebp - 0x3a], 0xba
mov byte [ebp - 0x39], 0x9d
mov al, byte [ebp - 0x5c]
mov dword [ebp - 0x18], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x5c]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x712a5775
mov edx, 0x4f2cf8cd
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x18]
and al, 0xf
lea ecx, [edx + 0x75]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x5c], al
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x24
jb 0x4408f0
lea eax, [ebp - 0x74]
mov dword [ebp - 0x78], 0
push 1
mov dword [ebp - 0x14], eax
call fcn.004e559e
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x6c]
push eax
call fcn.004917a0
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0048e560
add esp, 0xc
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440970
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
add eax, ecx
lea ecx, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00497b10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b8]
call fcn.00497bd0
mov esi, eax
test esi, esi
je 0x4409ac
lock inc dword [esi + 0x20]
lea ecx, [ebp - 0x78]
call fcn.0048c100
mov dword [ebp - 0x78], esi
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
mov ecx, eax
call fcn.00488130
mov byte [ebp - 4], 0xd
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x14], eax
lea edi, [eax + 4]
mov dword [eax], 0
mov dword [ebp - 0x60], edi
lea esi, [edi + 8]
mov ecx, dword [ebp - 0x68]
mov dword [esi + 4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
push esi
call fcn.004917a0
push esi
mov dword [edi], eax
call fcn.0048e560
add esp, 8
mov dword [edi + 4], eax
mov byte [ebp - 4], 0x10
mov edi, dword [ebp - 0x78]
test edi, edi
je 0x440a1f
lock inc dword [edi + 0x20]
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0048c100
mov dword [esi], edi
mov byte [ebp - 4], 0x11
sub esp, 0x18
lea eax, [ebp - 0x164]
mov dword [ebp - 0x60], esp
mov ecx, esp
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x9c]
call fcn.0043f980
add esp, 0x2c
mov byte [ebp - 4], 0x13
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x98]
mov ecx, edi
mov esi, dword [ebp - 0x9c]
sub ecx, esi
imul ecx
mov dword [ebp - 0x18], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x440d16
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [esi + eax + 0x10], 0xc
jb 0x440ce8
mov byte [ebp - 0x29], 0x44
xor edx, edx
mov byte [ebp - 0x28], 0x71
mov byte [ebp - 0x27], 0x53
mov byte [ebp - 0x26], 0x11
mov byte [ebp - 0x25], 0x52
mov byte [ebp - 0x24], 0x17
mov byte [ebp - 0x23], 0x7e
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x71
mov byte [ebp - 0x20], 0x40
mov byte [ebp - 0x1f], 0x7f
mov byte [ebp - 0x1e], 0x1b
mov byte [ebp - 0x1d], 0x2c
mov al, byte [ebp - 0x29]
mov dword [ebp - 0x14], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x29]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0x1021d590
cmovae ecx, eax
mov eax, 0x6e801721
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x21]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x29], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xd
jb 0x440ae0
sub esp, 0x18
lea ecx, [ebp - 0x29]
mov edx, esp
mov dword [ebp - 0x60], esp
xorps xmm0, xmm0
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440b45
sub ecx, esi
lea eax, [ebp - 0x29]
push ecx
push eax
mov ecx, edx
call fcn.0040bb00
mov byte [ebp - 4], 0x14
sub esp, 0x18
mov eax, dword [ebp - 0x9c]
mov ecx, esp
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0xd4], esp
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x134]
call fcn.00415760
add esp, 0x30
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x14c]
mov eax, dword [eax]
add eax, 0x18
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x134]
call fcn.0048ccb0
cmp dword [ebp - 0x13c], 0
je 0x440cc7
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov byte [ebp - 4], 0x19
sub esp, 0x18
lea edx, [ebp - 0x14c]
mov byte [ebp - 0xd], 1
mov ecx, esp
mov dword [ebp - 0xd8], esp
lea esi, [ebp - 0xb4]
call fcn.0040b5f0
mov byte [ebp - 4], 0x1a
sub esp, 0x18
lea eax, [ebp + 0x20]
mov dword [ebp - 0xdc], esp
mov ecx, esp
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x19
mov ecx, esi
mov dl, byte [ebp - 0xd]
call fcn.00430d80
add esp, 0x30
test al, al
je 0x440c6e
mov eax, dword [ebp - 0x34]
mov ecx, esi
push ecx
cmp eax, dword [ebp - 0x30]
je 0x440c65
mov ecx, eax
call fcn.0048ac50
add dword [ebp - 0x34], 0x18
jmp 0x440c6e
push eax
lea ecx, [ebp - 0x38]
call fcn.004987f0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x440cac
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440ca2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441037
push ecx
push edx
call fcn.004e6a11
add esp, 8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x14c]
call fcn.0040b870
mov edi, dword [ebp - 0x98]
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
inc ecx
add eax, 0x18
mov dword [ebp - 0x18], ecx
mov ecx, edi
mov dword [ebp - 0x1c], eax
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x18]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x440d16
mov eax, dword [ebp - 0x1c]
jmp 0x440a92
mov ecx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x38]
imul ecx
mov dword [ebp - 0x14], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x440fd6
xor edi, edi
nop dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xcc], xmm0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xb8], 0xf
mov word [ebp - 0xcc], 0x2d
mov byte [ebp - 4], 0x1c
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0xf
mov word [ebp - 0x90], 0x2d
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x38]
add edx, edi
mov ecx, dword [edx + 0x14]
mov eax, dword [edx + 0x10]
cmp ecx, 0x10
jb 0x440dc3
add eax, dword [edx]
jmp 0x440dca
add eax, edx
cmp ecx, 0x10
jb 0x440dcc
mov edx, dword [edx]
sub esp, 0x18
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xdc], esp
mov esi, esp
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp edx, eax
jne 0x440e00
xor eax, eax
mov dword [esi + 0x14], 7
mov word [esi], ax
jmp 0x440e14
mov ecx, eax
sub ecx, edx
push ecx
push eax
push edx
mov ecx, esi
call fcn.00496780
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0x1d
mov edx, ecx
lea ecx, [ebp - 0xcc]
call fcn.0043ff10
add esp, 0x18
test al, al
je 0x440f04
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x128]
mov dword [ebp - 0xd8], eax
lea ecx, [ebp - 0x128]
lea eax, [ebp - 0x90]
add esi, edi
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x110]
mov dword [ebp - 0xd4], eax
lea ecx, [ebp - 0x110]
lea eax, [ebp - 0xcc]
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0xf8]
push esi
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.0048ac50
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x128]
mov esi, dword [ebp - 0x64]
push ecx
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x440eb1
mov ecx, eax
call fcn.004a0600
add dword [esi + 4], 0x48
jmp 0x440eb9
push eax
mov ecx, esi
call fcn.00497350
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x29
mov ecx, eax
call fcn.0040b870
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x110]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x2c
mov ecx, eax
call fcn.0040b870
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x128]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x1d
mov ecx, eax
call fcn.0040b870
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x440f3f
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440f35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441037
push ecx
push edx
call fcn.004e6a11
add esp, 8
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x10
jb 0x440f92
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x440f88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441037
push ecx
push edx
call fcn.004e6a11
add esp, 8
mov ecx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x38]
add edi, 0x18
mov esi, dword [ebp - 0x14]
imul ecx
inc esi
mov dword [ebp - 0xbc], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0xb8], 0xf
shr eax, 0x1f
add eax, edx
mov byte [ebp - 0xcc], 0
mov dword [ebp - 0x14], esi
cmp esi, eax
jb 0x440d40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x9c]
call fcn.0048ccb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x78]
call fcn.00487d70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x38]
call fcn.0048ccb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x164]
call fcn.0040b870
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0040b870
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0040b870
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00501f00
int3