Function at 0x40aec0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49a416
mov eax, dword fs:[0]
push eax
sub esp, 0x374
mov eax, dword [0x4c3718]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x22c], edi
mov eax, dword [edi + 0x40]
mov esi, dword [edi + 0x3c]
cmp esi, eax
je 0x40af18
mov edi, eax
mov ecx, esi
call fcn.00401920
add esi, 0x108
cmp esi, edi
jne 0x40af01
mov edi, dword [ebp - 0x22c]
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x40af30
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x40af45
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebp - 0x174]
push 0x105
push 0
push eax
mov dword [edi + 0x38], 0x1c20
call fcn.00474170
movaps xmm0, xmmword [0x49ead0]
lea eax, [ebp - 0x380]
movups xmmword [ebp - 0x6c], xmm0
add esp, 0xc
mov dword [ebp - 0x1c], 0x2664253d
movaps xmm0, xmmword [str.mn_davs_d_s_s_s_s_s_die_sver_scver_s_sosmj_dos_sadver_sscx]
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x18], 0x3d796373
movaps xmm0, xmmword [0x49eab0]
movups xmmword [ebp - 0x4c], xmm0
push eax
movaps xmm0, xmmword [0x49eac0]
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x14], 0x6425
movaps xmm0, xmmword [0x49eae0]
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 0x12], 0
call fcn.00402550
mov ecx, eax
call fcn.00409120
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x25c]
mov dword [ebp - 4], 0
push eax
call fcn.00402550
mov ecx, eax
call fcn.00409a10
mov esi, eax
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 1
push eax
call fcn.00402550
mov ecx, eax
call fcn.00409220
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 2
push eax
call fcn.00402670
mov ecx, eax
call fcn.004095e0
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x320]
mov byte [ebp - 4], 3
push eax
call fcn.00402550
mov ecx, eax
call fcn.00408e00
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 4
push eax
call fcn.00402670
mov ecx, eax
call fcn.00408ec0
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 5
push eax
call fcn.00402550
mov ecx, eax
call fcn.00408e40
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x2d8]
mov byte [ebp - 4], 6
push eax
call fcn.00402670
mov ecx, eax
call fcn.00408e80
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 7
push eax
call fcn.00470be0
add esp, 4
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 8
push eax
call fcn.00402670
mov ecx, eax
call fcn.0040e6d0
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 9
call fcn.00402550
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x268], eax
call fcn.00402550
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x234]
cmp dword [eax + 0x14], 0x10
jb 0x40b101
mov eax, dword [eax]
mov dword [ebp - 0x234], eax
cmp dword [esi + 0x14], 0x10
jb 0x40b109
mov esi, dword [esi]
mov eax, dword [ebp - 0x238]
cmp dword [eax + 0x14], 0x10
jb 0x40b11d
mov eax, dword [eax]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x14], 0x10
jb 0x40b131
mov eax, dword [eax]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x240]
cmp dword [eax + 0x14], 0x10
jb 0x40b145
mov eax, dword [eax]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0x14], 0x10
jb 0x40b159
mov eax, dword [eax]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x22c]
cmp dword [eax + 0x14], 0x10
jb 0x40b16d
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x230]
cmp dword [eax + 0x14], 0x10
jb 0x40b181
mov eax, dword [eax]
mov dword [ebp - 0x230], eax
call fcn.00402550
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x270], eax
call fcn.00402550
mov eax, dword [eax + 8]
mov dword [ebp - 0x274], eax
call fcn.00402550
mov edx, dword [ebp - 0x260]
mov eax, dword [eax + 4]
cmp dword [edx + 0x14], 0x10
mov dword [ebp - 0x278], eax
jb 0x40b1b9
mov edx, dword [edx]
mov ecx, dword [ebp - 0x264]
cmp dword [ecx + 0x14], 0x10
jb 0x40b1c7
mov ecx, dword [ecx]
push dword [ebp - 0x268]
mov eax, dword [ebp - 0x234]
push dword [ebp - 0x26c]
push 0x49e97c
push eax
mov eax, dword [ebp - 0x238]
push esi
push eax
push dword [edi + 0x34]
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x240]
push eax
mov eax, dword [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x270]
lea eax, [ebp - 0x6c]
push dword [ebp - 0x274]
push dword [ebp - 0x278]
push edx
push ecx
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x174]
push 0x104
push eax
call fcn.0040e560
mov eax, dword [ebp - 0x294]
add esp, 0x54
mov byte [ebp - 4], 8
cmp eax, 0x10
jb 0x40b28f
mov ecx, dword [ebp - 0x2a8]
inc eax
cmp eax, 0x1000
jb 0x40b286
test cl, 0x1f
je 0x40b262
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b26e
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b27a
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b284
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x294], 0xf
mov dword [ebp - 0x298], 0
mov byte [ebp - 0x2a8], 0
mov byte [ebp - 4], 7
cmp eax, 0x10
jb 0x40b2fe
mov ecx, dword [ebp - 0x2c0]
inc eax
cmp eax, 0x1000
jb 0x40b2f5
test cl, 0x1f
je 0x40b2d1
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b2dd
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b2e9
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b2f3
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], 0xf
mov dword [ebp - 0x2b0], 0
mov byte [ebp - 0x2c0], 0
mov byte [ebp - 4], 6
cmp eax, 0x10
jb 0x40b36d
mov ecx, dword [ebp - 0x2d8]
inc eax
cmp eax, 0x1000
jb 0x40b364
test cl, 0x1f
je 0x40b340
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b34c
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b358
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b362
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2c4], 0xf
mov dword [ebp - 0x2c8], 0
mov byte [ebp - 0x2d8], 0
mov byte [ebp - 4], 5
cmp eax, 0x10
jb 0x40b3dc
mov ecx, dword [ebp - 0x2f0]
inc eax
cmp eax, 0x1000
jb 0x40b3d3
test cl, 0x1f
je 0x40b3af
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b3bb
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b3c7
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b3d1
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2dc], 0xf
mov dword [ebp - 0x2e0], 0
mov byte [ebp - 0x2f0], 0
mov byte [ebp - 4], 4
cmp eax, 0x10
jb 0x40b44b
mov ecx, dword [ebp - 0x308]
inc eax
cmp eax, 0x1000
jb 0x40b442
test cl, 0x1f
je 0x40b41e
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b42a
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b436
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b440
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x2f4], 0xf
mov dword [ebp - 0x2f8], 0
mov byte [ebp - 0x308], 0
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x40b4ba
mov ecx, dword [ebp - 0x320]
inc eax
cmp eax, 0x1000
jb 0x40b4b1
test cl, 0x1f
je 0x40b48d
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b499
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b4a5
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b4af
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x30c], 0xf
mov dword [ebp - 0x310], 0
mov byte [ebp - 0x320], 0
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x40b529
mov ecx, dword [ebp - 0x338]
inc eax
cmp eax, 0x1000
jb 0x40b520
test cl, 0x1f
je 0x40b4fc
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b508
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b514
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b51e
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x324], 0xf
mov dword [ebp - 0x328], 0
mov byte [ebp - 0x338], 0
mov byte [ebp - 4], 1
cmp eax, 0x10
jb 0x40b598
mov ecx, dword [ebp - 0x350]
inc eax
cmp eax, 0x1000
jb 0x40b58f
test cl, 0x1f
je 0x40b56b
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b577
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b583
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b58d
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x33c], 0xf
mov dword [ebp - 0x340], 0
mov byte [ebp - 0x350], 0
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x40b607
mov ecx, dword [ebp - 0x25c]
inc eax
cmp eax, 0x1000
jb 0x40b5fe
test cl, 0x1f
je 0x40b5da
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b5e6
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b5f2
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b5fc
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x248], 0xf
mov dword [ebp - 0x24c], 0
mov byte [ebp - 0x25c], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x40b679
mov ecx, dword [ebp - 0x380]
inc eax
cmp eax, 0x1000
jb 0x40b670
test cl, 0x1f
je 0x40b64c
call fcn.00478b61
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x40b658
call fcn.00478b61
sub ecx, eax
cmp ecx, 4
jae 0x40b664
call fcn.00478b61
cmp ecx, 0x23
jbe 0x40b66e
call fcn.00478b61
mov ecx, eax
push ecx
call fcn.004729a5
add esp, 4
cmp byte [ebp - 0x174], 0
mov dword [ebp - 0x190], 0xf
mov dword [ebp - 0x194], 0
mov byte [ebp - 0x1a4], 0
jne 0x40b6a1
xor ecx, ecx
jmp 0x40b6b9
lea ecx, [ebp - 0x174]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b6b0
sub ecx, edx
push ecx
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0040ccc0
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x178], 0xf
mov dword [ebp - 0x17c], 0
mov byte [ebp - 0x18c], 0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xb
push eax
call fcn.00402670
mov ecx, eax
call fcn.00409460
mov esi, eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0xc
push eax
call fcn.00402670
mov ecx, eax
call fcn.00409560
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 0xd
jb 0x40b72a
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x40b732
mov eax, dword [eax]
push 1
push 0x2cb
lea ecx, [ebp - 0x18c]
push ecx
lea ecx, [ebp - 0x1a4]
push ecx
push esi
push eax
call fcn.0045fde0
add esp, 0x18
cmp eax, 0x64
mov eax, dword [ebp - 0x248]
setl byte [ebp - 0x225]
cmp eax, 8
jb 0x40b779
inc eax
lea ecx, [ebp - 0x25c]
push eax
push dword [ebp - 0x25c]
call fcn.00404150
xor eax, eax
mov dword [ebp - 0x248], 7
mov word [ebp - 0x25c], ax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x24c], 0
mov byte [ebp - 4], 0xb
cmp eax, 8
jb 0x40b7b8
inc eax
lea ecx, [ebp - 0x290]
push eax
push dword [ebp - 0x290]
call fcn.00404150
cmp byte [ebp - 0x225], 0
je 0x40b894
lea eax, [ebp - 0x368]
push eax
call fcn.00402670
mov ecx, eax
call fcn.00409460
mov esi, eax
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xe
push eax
call fcn.00402670
mov ecx, eax
call fcn.00409560
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 0xf
jb 0x40b7fd
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x40b805
mov eax, dword [eax]
push 0
push 0x2c9
lea ecx, [ebp - 0x18c]
push ecx
lea ecx, [ebp - 0x1a4]
push ecx
push esi
push eax
call fcn.0045fde0
add esp, 0x18
cmp eax, 0x64
mov eax, dword [ebp - 0x27c]
setl byte [ebp - 0x225]
cmp eax, 8
jb 0x40b84c
inc eax
lea ecx, [ebp - 0x290]
push eax
push dword [ebp - 0x290]
call fcn.00404150
xor eax, eax
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x290], ax
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x280], 0
mov byte [ebp - 4], 0xb
cmp eax, 8
jb 0x40b88b
inc eax
lea ecx, [ebp - 0x368]
push eax
push dword [ebp - 0x368]
call fcn.00404150
cmp byte [ebp - 0x225], 0
jne 0x40b906
push 0x70
lea eax, [ebp - 0x224]
push 0
push eax
call fcn.00474170
add esp, 0xc
lea ecx, [ebp - 0x224]
call fcn.004686f0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0x1b4]
movups xmmword [ebp - 0x1b4], xmm0
call fcn.00464700
push 0
lea eax, [ebp - 0x1b4]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x224]
call fcn.0046b6c0
test al, al
jne 0x40b921
lea ecx, [ebp - 0x1b4]
call fcn.00464ad0
lea ecx, [ebp - 0x224]
call fcn.00408290
lea ecx, [ebp - 0x18c]
call fcn.004018b0
lea ecx, [ebp - 0x1a4]
call fcn.004018b0
jmp 0x40b9aa
lea eax, [ebp - 0x1b4]
mov ecx, edi
push eax
call fcn.00409c40
lea eax, [ebp - 0x18c]
mov ecx, edi
push eax
call fcn.0040b9d0
lea ecx, [ebp - 0x1b4]
call fcn.00464ad0
lea ecx, [ebp - 0x224]
call fcn.00408290
mov eax, dword [ebp - 0x178]
cmp eax, 0x10
jb 0x40b971
inc eax
lea ecx, [ebp - 0x18c]
push eax
push dword [ebp - 0x18c]
call fcn.00404100
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x178], 0xf
mov dword [ebp - 0x17c], 0
mov byte [ebp - 0x18c], 0
cmp eax, 0x10
jb 0x40b9aa
inc eax
lea ecx, [ebp - 0x1a4]
push eax
push dword [ebp - 0x1a4]
call fcn.00404100
mov ecx, dword [edi + 0x3c]
xor eax, eax
cmp ecx, dword [edi + 0x40]
setne al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00472961
mov esp, ebp
pop ebp
ret