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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x440
mov esi, dword [esp + 0x454]
mov dword [esp + 0x40], 0x21972773
mov dword [esp + 0x44], 0x3d9923aa
mov dword [esp + 0x48], 0x398a3f88
mov dword [esp + 0x4c], 0x354b3b9b
mov dword [esp + 0x50], 0x3140377b
mov dword [esp + 0x54], 0xd523340
mov dword [esp + 0x58], 0x9a70f74
mov dword [esp + 0x5c], 0x5bc0bb3
mov dword [esp + 0x60], 0x1b707b8
mov dword [esp + 0x64], 0x1d8f0389
mov dword [esp + 0x68], 0x19481f7c
mov dword [esp + 0x6c], 0x157a1bb4
mov dword [esp + 0x70], 0x11661767
mov dword [esp + 0x74], 0x6d621366
mov dword [esp + 0x78], 0x690e6f29
mov dword [esp + 0x7c], 0x65d16bc1
mov dword [esp + 0x80], 0x612867d2
mov dword [esp + 0x84], 0x7d27632c
mov dword [esp + 0x88], 0x79f67f1c
mov dword [esp + 0x8c], 0x75367b36
mov dword [esp + 0x90], 0x7116770f
mov dword [esp + 0x94], 0x4dc27333
mov dword [esp + 0x98], 0x49fa4ffc
mov dword [esp + 0x9c], 0x45e34bf7
mov dword [esp + 0xa0], 0x41e447fb
mov dword [esp + 0xa4], 0x5df94315
mov dword [esp + 0xa8], 0x592f5fd0
mov dword [esp + 0xac], 0x55175b17
mov dword [esp + 0xb0], 0x5120571d
mov dword [esp + 0xb4], 0xad1c531d
mov dword [esp + 0xb8], 0xa9d6afcc
mov dword [esp + 0xbc], 0xa5f2abfd
mov dword [esp + 0xc0], 0xa1f1a708
mov dword [esp + 0xc4], 0xbdd6a3f4
mov dword [esp + 0xc8], 0xb90abfdc
mov dword [esp + 0xcc], 0xb50fbb03
mov dword [esp + 0xd0], 0xb1d6b70b
mov dword [esp + 0xd4], 0x8d0db3e9
mov dword [esp + 0xd8], 0x893b8f31
mov dword [esp + 0xdc], 0x85f18b39
mov dword [esp + 0xe0], 0x81db87e4
mov dword [esp + 0xe4], 0x9d308338
mov dword [esp + 0xe8], 0x99299f2d
mov dword [esp + 0xec], 0x95eb9b27
mov dword [esp + 0xf0], 0x91e597e7
mov dword [esp + 0xf4], 0xede493db
mov dword [esp + 0xf8], 0xe998ef9c
mov dword [esp + 0xfc], 0xe59ceb98
mov dword [esp + 0x100], 0xe186e794
mov dword [esp + 0x104], 0xfd41e34d
mov dword [esp + 0x108], 0xf95dff42
mov dword [esp + 0x10c], 0xf541fb4a
mov dword [esp + 0x110], 0xf1b9f785
mov dword [esp + 0x114], 0xcdbbf3bd
mov dword [esp + 0x118], 0xc983cfba
mov dword [esp + 0x11c], 0xc5cacb86
mov eax, dword [0x451aac]
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x40]
mov ebp, ecx
and ebp, 0x112
mov ebx, edx
xor ebx, 0x9f68a789
add ebx, ebp
xor ebx, edi
mov edi, ebx
xor edi, 0xae
and ebx, 0x51
add ebx, ebx
sub ebx, edi
inc bl
mov byte [esp + edx + 0x40], bl
inc edx
add ecx, 2
cmp edx, 0xe0
jne case.default.0x4101a5
lea ecx, [esp + 0x40]
push 0
push 0
push 0
push 0
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x44be50]
mov ecx, 0xa7908bc9
xor ecx, dword [0x44be58]
add ecx, edx
inc ecx
jmp ecx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
mov bh, 0xa
mov bh, 0xa
add edx, 2
test cx, cx
jne 0x424f70
mov word [eax], 0
mov edx, dword [ebp - 0x10]
movzx ecx, word [edx]
test cx, cx
je 0x424fb1
add edx, 2
nop
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 0x424fa0
mov word [eax], 0
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
mov eax, 0xfffffffe
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
inc eax
add dh, byte [ebp - 0xb]
inc eax
add dh, byte [ebp - 0xb]
sar eax, 1
lea ecx, [eax*2 + 0x12]
add eax, 9
and ecx, 2
mov edi, dword [ebx]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x424ff0
mov ebx, dword [ebx + 8]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + edi + 2], 0
lea edi, [edi + 2]
jne 0x425010
xor eax, 1
add eax, ecx
sar edx, 1
sar edi, 1
add edx, eax
lea eax, [edx + edi]
lea ecx, [edi + edx]
inc ecx
lea eax, [eax*2 + 2]
test ecx, ecx
jns 0x42503d
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov ebx, eax
mov edx, dword [ebp - 0x20]
mov dword [edx], 0xf353f1af
mov dword [edx + 4], 0xff4afd48
mov dword [edx + 8], 0xfb46f955
mov dword [edx + 0xc], 0xc7b1c577
mov dword [edx + 0x10], 0xc1c0
xor eax, eax
mov edi, dword [ebp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xd4
xor cl, byte [edx + eax]
add cl, 0xdc
mov byte [edx + eax], cl
inc eax
cmp eax, 0x14
jne 0x425080
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
je 0x4250c1
add edx, 2
mov eax, ebx
nop
nop
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 0x4250b0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x4250f1
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x4250e0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi]
movzx edx, word [ecx]
test dx, dx
je 0x425123
add ecx, 2
mov esi, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425110
jmp 0x425126
mov esi, dword [ebp - 0x1c]
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x425151
add ecx, 2
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425140
mov word [eax], 0
mov dword [esi], 0x106072e
mov dword [esi + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + 1]
movzx edx, byte [esi + eax]
xor dl, cl
add dl, 0xfb
mov byte [esi + eax], dl
mov eax, ecx
cmp ecx, 8
jne 0x425170
push 0
push 1
push 0
push esi
mov esi, dword [ebp - 0x14]
push esi
push ebx
push dword [ebp + 8]
call fcn.00425870
add esp, 0x1c
mov edx, dword [ebp + 0xc]
jmp dword [0x44dc78]