Function at 0x40aaf0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x198
mov eax, dword [0x43ffc4]
mov dword [esp + 0x10], 0xdb33d927
mov dword [esp + 0x14], 0xe70ee512
mov dword [esp + 0x18], 0xe31ee11c
mov dword [esp + 0x1c], 0xefd8ed1c
mov dword [esp + 0x20], 0xeb1ee904
mov dword [esp + 0x24], 0xf7f6f500
mov word [esp + 0x28], 0
mov byte [esp + 0x2a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1a
ja 0x40ab91
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
mov esi, 0x63
sub esi, ecx
add ecx, 0x852dd59c
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0x114], esi
mov ecx, dword [esp + 0x114]
add cl, 0xbc
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1b
jb 0x40ab50
lea edi, [esp + 0x10]
push 0x800
push 0
push edi
call eax
mov ecx, 0x43ff8c
push eax
call fcn.004331d0
xor ebx, ebx
test al, al
je 0x40b2bd
push 0xd16c9e6b
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ff94], eax
push 0x2b39326b
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ff98], eax
push 0x20eddf4
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ff9c], eax
push 0x6f420210
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffa0], eax
push 0xbb4ac2a9
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffa4], eax
push 0xe03c21ff
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffa8], eax
push 0xb35fc6e6
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffac], eax
push 0xe3a9b6db
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffb0], eax
push 0xe81e9fc0
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffb4], eax
push 0x70f53c13
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffb8], eax
push 0xb54b293a
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffbc], eax
push 0x9b73555b
push dword [0x43ff8c]
call fcn.00435100
add esp, 8
mov dword [0x43ffc0], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x114]
push eax
push dword [ebx + 0x4395ec]
call fcn.0042eee0
add esp, 8
lea esi, [esp + 0x113]
nop
nop
nop
cmp byte [esi + 1], 0
lea esi, [esi + 1]
jne 0x40ad00
mov dword [esp], 0
mov eax, edi
lea ecx, [esp + 0x114]
cmp ecx, esi
jae 0x40ad7e
mov dword [esp + 4], ebx
xor ebx, ebx
lea edi, [esp + 0x114]
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x40ad70
mov eax, esp
push eax
push esi
push edi
call fcn.0040d060
add esp, 0xc
movzx edx, word [esp]
lea ecx, [ebx + 2]
mov word [esp + ebx + 0x10], dx
cmp ebx, 0xfb
ja 0x40ad5e
add edi, eax
mov ebx, ecx
cmp edi, esi
jb 0x40ad30
lea eax, [esp + ecx]
add eax, 0x10
jmp 0x40ad76
lea eax, [esp + ebx]
add eax, 0x10
mov ebx, dword [esp + 4]
lea edi, [esp + 0x10]
mov word [eax], 0
push edi
call fcn.0040b2d0
add esp, 4
test al, al
jne 0x40b016
add ebx, 4
cmp ebx, 0x24
jne 0x40ace0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessVersion]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x4bb64da4
mov dword [esp + 0x14], 0x57a649b4
mov dword [esp + 0x18], 0x539455ab
mov dword [esp + 0x1c], 0x5f6d5163
mov dword [esp + 0x20], 0x5ba65da3
mov dword [esp + 0x24], 0x678759b5
mov dword [esp + 0x28], 0x638d6591
mov dword [esp + 0x2c], 0x6f9b6193
mov dword [esp + 0x30], 0x6b976d99
mov dword [esp + 0x34], 0x779f699a
mov dword [esp + 0x38], 0x738b7588
mov dword [esp + 0x3c], 0x7f917142
mov dword [esp + 0x40], 0x7b8f7d8f
mov dword [esp + 0x44], 0x7f6794b
mov dword [esp + 0x48], 0x3f105fa
mov dword [esp + 0x4c], 0xfe701ea
mov dword [esp + 0x50], 0xbe70df8
mov dword [esp + 0x54], 0x172509f7
mov dword [esp + 0x58], 0x1328152f
mov dword [esp + 0x5c], 0x1f24112d
mov dword [esp + 0x60], 0x1b2b1d2d
mov dword [esp + 0x64], 0x271f1921
mov dword [esp + 0x68], 0x231c251f
mov dword [esp + 0x6c], 0x2f11211c
mov dword [esp + 0x70], 0x2b1b2d13
mov dword [esp + 0x74], 0x37062911
mov dword [esp + 0x78], 0x33323504
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x73
ja 0x40aeff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, 0xf5
sub edx, eax
add eax, 0xc228e50a
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x114]
add al, 0xba
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x74
jb 0x40aec0
lea eax, [esp + 0xc]
lea ecx, [esp + 8]
lea edx, [esp + 0x10]
push eax
push ecx
push edx
call fcn.0040b940
add esp, 0xc
test al, al
je 0x40b04d
mov dword [esp + 0x10], 0x4c2420da
mov dword [esp + 0x14], 0x534d8958
mov dword [esp + 0x18], 0xa0595849
mov dword [esp + 0x1c], 0x53454684
mov dword [esp + 0x20], 0x5a58426d
mov dword [esp + 0x24], 0x4a4e424a
mov dword [esp + 0x28], 0x525b4f4f
mov dword [esp + 0x2c], 0x4c435640
mov word [esp + 0x30], 0xb790
mov byte [esp + 0x32], 0xf4
mov dword [esp + 0x33], 0
mov word [esp + 0x37], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x28
ja 0x40afcf
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, 0x42
sub edx, eax
add eax, 0xe3d106bd
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x114]
add al, 0xd5
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x29
jb 0x40af90
mov edi, dword [esp + 8]
movzx ebx, byte [esp + 0x10]
mov eax, edi
test bl, bl
je 0x40b054
lea edx, [esp + 0x10]
mov ecx, edi
mov eax, edi
jmp 0x40aff7
movzx ebx, byte [edx]
test bl, bl
je 0x40b054
mov bh, byte [ecx]
test bh, bh
je 0x40b2b2
inc ecx
inc edx
lea esi, [eax + 1]
cmp bh, bl
je 0x40b00e
mov eax, esi
mov ecx, esi
je 0x40aff0
lea edx, [esp + 0x10]
jmp 0x40aff0
movzx ecx, word [esp + 0x10]
mov eax, 0x43ffc8
test cx, cx
je 0x40b041
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40b030
mov word [eax], 0
mov bl, 1
jmp 0x40b2bd
xor ebx, ebx
jmp 0x40b2bd
test eax, eax
je 0x40b2b2
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0xfbe53e28
mov dword [esp + 0x14], 0x6724fb09
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x40b0cf
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, 0xd
sub edx, eax
add eax, 0xadbc18f2
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x114]
add al, 0x62
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x40b090
movzx ebx, byte [esp + 0x10]
mov ecx, dword [esp + 4]
test bl, bl
je 0x40b114
lea edx, [esp + 0x10]
mov esi, edx
mov ecx, dword [esp + 4]
mov eax, ecx
jmp 0x40b0f7
movzx ebx, byte [esi]
test bl, bl
je 0x40b114
mov bh, byte [eax]
test bh, bh
je 0x40b2ae
inc eax
inc esi
lea edi, [ecx + 1]
cmp bh, bl
je 0x40b10e
mov ecx, edi
mov eax, edi
je 0x40b0f0
mov esi, edx
jmp 0x40b0f0
test ecx, ecx
je 0x40b2ae
mov byte [ecx], 0
mov ecx, 0xfffffffe
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + ecx + 0x24], 0
lea ecx, [ecx + 1]
jne 0x40b130
mov edx, ecx
inc edx
je 0x40b1e9
test ecx, ecx
je 0x40b1b5
mov esi, edx
and edx, 0xfffffffe
mov edi, edx
xor edx, edx
jmp 0x40b16b
add bh, 0x61
mov bl, bh
mov byte [esp + edx + 0x115], bl
add edx, 2
mov eax, edi
cmp edi, edx
mov eax, dword [esp + 4]
je 0x40b1b9
movzx ebx, byte [eax + edx + 0x22]
mov eax, ebx
add al, 0x9f
cmp al, 0x19
ja 0x40b18c
mov bh, bl
add bh, 0xae
cmp bh, 0x1a
jb 0x40b187
add bl, 0x94
mov bh, bl
add bh, 0x61
mov bl, bh
mov byte [esp + edx + 0x114], bl
mov eax, dword [esp + 4]
movzx ebx, byte [eax + edx + 0x23]
mov eax, ebx
add al, 0x9f
cmp al, 0x19
ja 0x40b157
mov bh, bl
add bh, 0xae
cmp bh, 0x1a
jb 0x40b152
add bl, 0x94
mov bh, bl
jmp 0x40b152
mov esi, edx
xor edx, edx
mov ebx, esi
test bl, 1
je 0x40b1e9
movzx eax, byte [eax + edx + 0x22]
mov ah, al
add ah, 0x9f
cmp ah, 0x19
ja 0x40b1e2
mov ah, al
add ah, 0xae
cmp ah, 0x1a
jb 0x40b1dd
add al, 0x94
mov ah, al
add ah, 0x61
mov al, ah
mov byte [esp + edx + 0x114], al
mov byte [esp + ecx + 0x115], 0
lea ebx, [esp + 0x113]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x40b200
mov dword [esp], 0
lea ecx, [esp + 0x10]
lea esi, [esp + 0x114]
mov eax, ecx
cmp esi, ebx
jae 0x40b260
xor edi, edi
cmp byte [esi], 0
je 0x40b256
mov eax, esp
push eax
push ebx
push esi
call fcn.0040d060
add esp, 0xc
movzx edx, word [esp]
lea ecx, [edi + 2]
mov word [esp + edi + 0x10], dx
cmp edi, 0x7b
ja 0x40b24e
add esi, eax
mov edi, ecx
cmp esi, ebx
jb 0x40b223
lea eax, [esp + ecx]
add eax, 0x10
jmp 0x40b25c
lea eax, [esp + edi]
add eax, 0x10
lea ecx, [esp + 0x10]
mov word [eax], 0
push ecx
call fcn.0040b2d0
add esp, 4
test al, al
je 0x40b2ae
movzx ecx, word [esp + 0x10]
mov eax, 0x43ffc8
test cx, cx
je 0x40b2a1
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40b290
mov word [eax], 0
mov bl, 1
mov edi, dword [esp + 8]
jmp 0x40b2b4
mov edi, dword [esp + 8]
xor ebx, ebx
push edi
call fcn.00431b40
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret