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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov eax, dword [ebp + 0xc]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x418140
sar esi, 1
lea edi, [esp + 0x68]
push edi
push 0
push 0
push esi
push eax
push 0
call dword [0x44fb48]
mov ebx, dword [esp + 0x68]
test ebx, ebx
jns 0x41816f
mov eax, 0xffffffff
jmp 0x418172
lea eax, [ebx + ebx]
push eax
call fcn.00409230
add esp, 4
push edi
push ebx
mov dword [esp + 0x50], eax
push eax
push esi
push dword [ebp + 0xc]
push 0
call dword [0x44fb48]
mov dword [esp + 0x18], 0xb340b552
mov dword [esp + 0x1c], 0xaf3db12d
mov dword [esp + 0x20], 0xab8cad22
mov dword [esp + 0x24], 0xa733a940
mov dword [esp + 0x28], 0xa329a528
mov dword [esp + 0x2c], 0x5f31a135
mov dword [esp + 0x30], 0x5b5c5dcc
lea eax, [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3b], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 4], ecx
movzx ebx, byte [esp + ecx + 0x18]
mov eax, ecx
and eax, 0xd
mov ecx, dword [esp + 4]
and ecx, 2
mov edx, ecx
xor edx, 2
imul edx, eax
or eax, 2
imul eax, ecx
mov edi, dword [esp + 4]
xor edi, 0xe61f618f
add edi, edx
add edi, eax
mov eax, edi
not eax
or eax, 0xe324f8e9
add eax, edi
or edi, 0xe324f8e9
mov dword [esp + 8], ebx
mov ecx, ebx
not ecx
and ebx, 0xffffffca
lea esi, [eax + edi]
mov dword [esp + 0xc], esi
mov edx, 0xe61f618d
sub edx, esi
and edx, ecx
and ecx, 0x4e26fc35
or ecx, ebx
lea esi, [edi + eax]
add esi, 0x19e09e72
xor ecx, esi
xor ecx, 0x4e26fc35
mov ebx, ecx
xor ebx, edx
not edx
and edx, ecx
add ebx, ecx
not ebx
add ebx, edx
mov ecx, esi
or ecx, 0x37cf6b6c
mov edx, dword [esp + 0xc]
not edx
add ecx, edx
add ecx, 0xe61f618f
and esi, 0xc8309493
or esi, ecx
add eax, edi
add eax, 0x72
mov ecx, dword [esp + 8]
xor esi, ecx
and eax, ecx
xor esi, 0x37cf6b6c
or eax, esi
lea ecx, [eax + eax]
not ecx
add ecx, eax
and ecx, 0xa82c3736
and eax, 0x57d3c8c9
or eax, ecx
xor eax, 0x57d3c8c9
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
lea edx, [eax + eax]
not edx
add edx, eax
and edx, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x88]
add al, 0xa1
mov byte [esp + ecx + 0x18], al
inc ecx
cmp ecx, 0x27
jne 0x4181f0
lea edi, [esp + 0xb0]
lea eax, [esp + 0x18]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xcc]
xor ecx, ecx
mov eax, dword [esp + 0x10]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x68]
mov ecx, eax
add ecx, 0xd
jns 0x41832a
mov eax, 0xffffffff
jmp 0x418331
lea eax, [eax*2 + 0x1a]
mov edi, dword [esp + 0x48]
push eax
call fcn.00409230
add esp, 4
mov esi, eax
movzx ecx, word [edi]
test cx, cx
je 0x418361
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x418350
mov word [eax], 0
movzx ecx, word [esp + 0xb0]
test cx, cx
je 0x418391
lea edx, [esp + 0xb2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x418380
mov word [eax], 0
lea eax, [esp + 0x60]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00443020
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a430]