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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x194
mov eax, dword [0x4419c0]
mov dword [esp + 0x14], 0x29852b9d
mov dword [esp + 0x18], 0x2d862f9a
mov dword [esp + 0x1c], 0x31863398
mov dword [esp + 0x20], 0x35443780
mov dword [esp + 0x24], 0x39963b90
mov dword [esp + 0x28], 0x3d3e3f94
mov dword [esp + 0x2c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x40acae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x8eca9207
xor ecx, edx
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x114]
add cl, 0xdd
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x40ac78
lea esi, [esp + 0x14]
push 0x800
push 0
push esi
call eax
mov ecx, 0x441988
push eax
call fcn.004343a8
xor ebx, ebx
test al, al
je 0x40b3c0
push 0xe2bceb04
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x441990], eax
push 0x248106fa
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x441994], eax
push 0x89b8457d
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x441998], eax
push 0x44f824fb
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x44199c], eax
push 0xf072343c
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419a0], eax
push 0x638f2392
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419a4], eax
push 0xd711af57
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419a8], eax
push 0x1ad145e2
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419ac], eax
push 0xedb83653
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419b0], eax
push 0xe9e47300
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419b4], eax
push 0x6b702a5b
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419b8], eax
push 0xc135ffae
push dword [0x441988]
call fcn.004368f8
add esp, 8
mov dword [0x4419bc], eax
lea ebp, [esp + 0x114]
mov eax, ebp
not eax
mov dword [esp + 0xc], eax
mov eax, ebp
neg eax
mov dword [esp + 8], eax
push ebp
push dword [ebx + 0x43a3e4]
call fcn.0042fdd8
add esp, 8
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esp + eax + 0x114], 0
lea eax, [eax + 1]
jne 0x40ae28
mov ecx, dword [esp + 8]
sub ecx, eax
lea edx, [esp + 0x113]
add eax, edx
and eax, dword [esp + 0xc]
and ecx, ebp
sub eax, ecx
mov dword [esp], 0
mov ecx, esi
test eax, eax
jle 0x40aeb9
lea edi, [esp + eax]
add edi, 0x114
xor esi, esi
nop
nop
nop
nop
cmp byte [ebp], 0
je 0x40aea8
mov eax, esp
push eax
push edi
push ebp
call fcn.0040d178
add esp, 0xc
movzx edx, word [esp]
lea ecx, [esi + 2]
mov word [esp + esi + 0x14], dx
cmp esi, 0xfb
ja 0x40ae97
add ebp, eax
mov esi, ecx
cmp ebp, edi
jb 0x40ae68
add ecx, esp
add ecx, 0x14
jmp 0x40aeae
lea ecx, [esp + esi]
add ecx, 0x14
lea esi, [esp + 0x14]
lea ebp, [esp + 0x114]
mov word [ecx], 0
push esi
call fcn.0040b3d8
add esp, 4
test al, al
jne 0x40b11c
add ebx, 4
cmp ebx, 0x24
jne 0x40ae08
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x79e67b14
mov dword [esp + 0x18], 0x65f667e4
mov dword [esp + 0x1c], 0x612463f9
mov dword [esp + 0x20], 0x6d3f6f31
mov dword [esp + 0x24], 0x69f66bf1
mov dword [esp + 0x28], 0x95f99703
mov dword [esp + 0x2c], 0x91ff9307
mov dword [esp + 0x30], 0x9d0d9f01
mov dword [esp + 0x34], 0x99019b0f
mov dword [esp + 0x38], 0x8511870a
mov dword [esp + 0x3c], 0x81058318
mov dword [esp + 0x40], 0x8de38fd2
mov dword [esp + 0x44], 0x89198b1d
mov dword [esp + 0x48], 0xb526b7d9
mov dword [esp + 0x4c], 0xb123b32a
mov dword [esp + 0x50], 0xbd29bfda
mov dword [esp + 0x54], 0xb9d1bb28
mov dword [esp + 0x58], 0xa5f7a725
mov dword [esp + 0x5c], 0xa1f8a3fd
mov dword [esp + 0x60], 0xadf4affb
mov dword [esp + 0x64], 0xa9f5abf3
mov dword [esp + 0x68], 0xd591d7ef
mov dword [esp + 0x6c], 0xd18cd38d
mov dword [esp + 0x70], 0xdd83df8c
mov dword [esp + 0x74], 0xd985db81
mov dword [esp + 0x78], 0xc596c79f
mov dword [esp + 0x7c], 0xc1c2c394
mov byte [esp + 0x82], 0
mov word [esp + 0x80], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x6e
ja 0x40b01c
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0xb4acb86b
xor eax, ecx
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x114]
add al, 0xe9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x6f
jb 0x40afe8
lea eax, [esp + 0x10]
lea ecx, [esp + 4]
lea esi, [esp + 0x14]
push eax
push ecx
push esi
call fcn.0040b9c8
add esp, 0xc
test al, al
je 0x40b15c
mov dword [esp + 0x14], 0x524e4ab0
mov dword [esp + 0x18], 0x4957934e
mov dword [esp + 0x1c], 0x86434257
mov dword [esp + 0x20], 0x796f68aa
mov dword [esp + 0x24], 0x60726c7b
mov dword [esp + 0x28], 0x70706470
mov dword [esp + 0x2c], 0x78657975
mov dword [esp + 0x30], 0x7a657866
mov dword [esp + 0x34], 0xde91be
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x40b0d9
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0xfd0fd855
xor eax, ecx
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x114]
mov ecx, eax
not ecx
and ecx, 0xa9
and eax, 0x56
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x40b098
mov ecx, dword [esp + 4]
movzx ebx, byte [esp + 0x14]
test bl, bl
je 0x40b173
mov edx, esi
mov eax, ecx
jmp 0x40b0ff
movzx ebx, byte [edx]
test bl, bl
je 0x40b175
mov bh, byte [ecx]
test bh, bh
je 0x40b3b2
inc ecx
inc edx
lea edi, [eax + 1]
cmp bh, bl
je 0x40b116
mov eax, edi
mov ecx, edi
je 0x40b0f8
mov edx, esi
jmp 0x40b0f8
movzx eax, word [esp + 0x14]
test ax, ax
je 0x40b163
mov ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx + 0x4419c2], ax
movzx eax, word [esp + ecx + 0x14]
add ecx, 2
test ax, ax
jne 0x40b138
mov word [ecx + 0x4419c2], 0
mov bl, 1
jmp 0x40b3c0
xor ebx, ebx
jmp 0x40b3c0
mov word [0x4419c4], 0
mov bl, 1
jmp 0x40b3c0
mov eax, ecx
test eax, eax
je 0x40b3b2
mov dword [esp + 0x14], 0x999f5a58
mov dword [esp + 0x18], 0x2d6c9d8f
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x40b1f3
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 + 0x14]
lea esi, [ecx - 0x1a46cd79]
lea edi, [ecx + edx]
add edi, 0xe5b93287
add ecx, 0x87
or ecx, esi
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0x114], edi
mov ecx, dword [esp + 0x114]
add cl, 0x5d
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x40b1a8
movzx ebx, byte [esp + 0x14]
mov ecx, eax
test bl, bl
je 0x40b23c
lea edx, [esp + 0x14]
mov esi, edx
mov edi, eax
mov ecx, eax
jmp 0x40b21f
movzx ebx, byte [esi]
test bl, bl
je 0x40b23c
mov bh, byte [edi]
test bh, bh
je 0x40b3b2
inc edi
inc esi
lea ebp, [ecx + 1]
cmp bh, bl
je 0x40b236
mov ecx, ebp
mov edi, ebp
je 0x40b218
mov esi, edx
jmp 0x40b218
xor ebx, ebx
test ecx, ecx
je 0x40b3b4
mov byte [ecx], 0
lea ecx, [eax + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + ebx], 0
lea ebx, [ebx + 1]
jne 0x40b258
lea esi, [eax + ebx]
add esi, 0x21
mov edi, ecx
not edi
and edi, esi
add eax, ebx
mov esi, 0xffffffde
sub esi, eax
and esi, ecx
sub edi, esi
jne 0x40b32a
mov byte [esp + edi + 0x114], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esp + ecx + 0x114], 0
lea ecx, [ecx + 1]
jne 0x40b298
lea edx, [esp + ecx]
add edx, 0x113
lea esi, [esp + 0x114]
mov eax, esi
not eax
and eax, edx
add ecx, esp
add ecx, 0x114
neg ecx
and ecx, esi
sub eax, ecx
mov dword [esp], 0
lea edi, [esp + 0x14]
mov ecx, edi
test eax, eax
jle 0x40b36f
lea ebx, [esp + eax]
add ebx, 0x114
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x40b369
mov eax, esp
push eax
push ebx
push esi
call fcn.0040d178
add esp, 0xc
movzx edx, word [esp]
lea ecx, [ebp + 2]
mov word [esp + ebp + 0x14], dx
cmp ebp, 0x7b
ja 0x40b323
add esi, eax
mov ebp, ecx
cmp esi, ebx
jb 0x40b2f8
add ecx, esp
add ecx, 0x14
jmp 0x40b36f
xor eax, eax
jmp 0x40b341
add bl, 0x61
mov byte [esp + eax + 0x114], bl
inc eax
cmp edi, eax
je 0x40b280
movzx ebx, byte [ecx + eax]
mov edx, ebx
add dl, 0x9f
cmp dl, 0x19
ja 0x40b331
movzx edx, bl
lea ebx, [edx - 0x61]
neg edx
and edx, 0xb
and ebx, 0xfffffff4
sub ebx, edx
cmp ebx, 0xffffffe6
jb 0x40b32e
add bl, 0x1a
jmp 0x40b32e
lea ecx, [esp + ebp]
add ecx, 0x14
mov word [ecx], 0
push edi
call fcn.0040b3d8
add esp, 4
test al, al
je 0x40b3b2
movzx ecx, word [esp + 0x14]
mov eax, 0x4419c4
test cx, cx
je 0x40b3a9
lea edx, [esp + 0x16]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40b398
mov word [eax], 0
mov bl, 1
jmp 0x40b3b4
xor ebx, ebx
push dword [esp + 4]
call fcn.00432fc8
add esp, 4
mov eax, ebx
add esp, 0x194
pop esi
pop edi
pop ebx
pop ebp
ret