Function at 0x846bf40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x84f9e78
mov eax, dword fs:[0]
push eax
sub esp, 0x1e0
mov eax, dword [0x184002c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1e4], esi
mov dword [ebp - 4], 7
call fcn.0840e590
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x846bf98
push 0x80004005
call fcn.0840d910
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 8
call fcn.0840e590
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x846bfca
push 0x80004005
call fcn.0840d910
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x1cc], 0x61595366
mov dword [ebp - 0x1c8], 0x784d4350
mov dword [ebp - 0x1c4], 0x7a457850
mov dword [ebp - 0x1c0], 0x6d73444e
mov dword [ebp - 0x1bc], 0x3030534d
mov dword [ebp - 0x1b8], 0x4467514e
mov dword [ebp - 0x1b4], 0x2b317759
mov dword [ebp - 0x1b0], 0x49307747
mov dword [ebp - 0x1ac], 0x56776847
mov dword [ebp - 0x1a8], 0x68316a4a
mov dword [ebp - 0x1a4], 0x6f597847
mov dword [ebp - 0x1a0], 0x7159444e
mov dword [ebp - 0x19c], 0x684a4248
mov dword [ebp - 0x198], 0x4773674e
mov dword [ebp - 0x194], 0x61456e48
mov dword [ebp - 0x190], 0x76674265
mov dword [ebp - 0x18c], 0x50456741
mov dword [ebp - 0x188], 0x3730524b
mov dword [ebp - 0x184], 0x69637a50
mov dword [ebp - 0x180], 0x366f7a45
mov dword [ebp - 0x17c], 0x73307944
mov dword [ebp - 0x178], 0x6d30514f
mov dword [ebp - 0x174], 0x44455243
mov dword [ebp - 0x170], 0x484d535a
mov dword [ebp - 0x16c], 0x6673434f
mov dword [ebp - 0x168], 0x374e5343
mov dword [ebp - 0x164], 0x68786a48
mov dword [ebp - 0x160], 0x4755784c
mov dword [ebp - 0x15c], 0x6a6f694f
mov dword [ebp - 0x158], 0x6b67684e
mov dword [ebp - 0x154], 0x47596961
mov dword [ebp - 0x150], 0x446f4141
mov dword [ebp - 0x14c], 0x386b6765
mov dword [ebp - 0x148], 0x78734344
mov dword [ebp - 0x144], 0x5730435a
mov dword [ebp - 0x140], 0x3668574b
mov dword [ebp - 0x13c], 0x5a554147
mov dword [ebp - 0x138], 0x6a516e4c
mov dword [ebp - 0x134], 0x6c67785a
mov dword [ebp - 0x130], 0x6a55774f
mov dword [ebp - 0x12c], 0x746f6a4c
mov dword [ebp - 0x128], 0x314a4442
mov dword [ebp - 0x124], 0x486b6945
mov dword [ebp - 0x120], 0x4867534c
mov dword [ebp - 0x11c], 0x6c414846
mov dword [ebp - 0x118], 0x506b514d
mov dword [ebp - 0x114], 0x42303349
mov dword [ebp - 0x110], 0x32776745
mov dword [ebp - 0x10c], 0x4b4d5247
mov dword [ebp - 0x108], 0x4a557950
mov dword [ebp - 0x104], 0x67777842
mov dword [ebp - 0x100], 0x4b417749
mov dword [ebp - 0xfc], 0x7641324a
mov dword [ebp - 0xf8], 0x7a385850
mov dword [ebp - 0xf4], 0x546b5241
mov dword [ebp - 0xf0], 0x62597843
mov dword [ebp - 0xec], 0x5a38584e
mov dword [ebp - 0xe8], 0x38466a4d
mov dword [ebp - 0xe4], 0x6d416d45
mov dword [ebp - 0xe0], 0x3931434f
mov dword [ebp - 0xdc], 0x66557748
mov dword [ebp - 0xd8], 0x546f674d
mov dword [ebp - 0xd4], 0x6b6f574c
mov dword [ebp - 0xd0], 0x7759434a
mov dword [ebp - 0xcc], 0x446f6a4d
mov dword [ebp - 0xc8], 0x3641534f
mov dword [ebp - 0xc4], 0x66635241
mov dword [ebp - 0xc0], 0x6277334a
mov dword [ebp - 0xbc], 0x53495259
mov dword [ebp - 0xb8], 0x70516759
mov dword [ebp - 0xb4], 0x4c676a4b
mov dword [ebp - 0xb0], 0x5534694f
mov dword [ebp - 0xac], 0x4f515450
push dword [esi + 0x24]
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xa8], 0x2f557950
sub esp, 0xc
mov dword [ebp - 0xa4], 0x524d415a
mov ecx, esp
mov dword [ebp - 0xa0], 0x42496744
mov dword [ebp - 0x9c], 0x4538534a
mov dword [ebp - 0x98], 0x42734163
push dword [ebp - 0x60]
mov dword [ebp - 0x94], 0x416f7862
push eax
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x90], 0x63444141
push eax
push 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.08405280
lea eax, [ebp - 0x1e0]
push eax
call fcn.0844ba20
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
mov byte [ebp - 4], 0xa
sar eax, 1
jne 0x846c35c
push str.invalid_vector_T__subscript
call fcn.0847ecf2
push ecx
lea eax, [ebp - 0x1d4]
push eax
call fcn.0844c800
mov eax, dword [ebp - 0x1e0]
add esp, 0xc
mov byte [ebp - 4], 9
test eax, eax
je 0x846c383
push eax
call fcn.0849b460
add esp, 4
push 0
mov dword [ebp - 0x8c], 0x78595366
mov dword [ebp - 0x88], 0x77455849
mov dword [ebp - 0x84], 0x6774324f
mov dword [ebp - 0x80], 0x37306a41
mov dword [ebp - 0x7c], 0x30636841
mov dword [ebp - 0x78], 0x78526949
mov dword [ebp - 0x74], 0x41734447
mov dword [ebp - 0x70], 0x69306a4f
mov dword [ebp - 0x6c], 0x4651434c
mov dword [ebp - 0x68], 0x41414141
mov word [ebp - 0x64], 0x5147
call fcn.084a070a
add esp, 4
push edx
push eax
sub esp, 0xc
lea eax, [ebp - 0x62]
mov ecx, esp
push dword [ebp - 0x60]
mov dword [ecx], 0
push eax
lea eax, [ebp - 0x8c]
mov dword [ecx + 4], 0
push eax
push 0
mov dword [ecx + 8], 0
call fcn.08405280
lea eax, [ebp - 0x1e0]
push eax
call fcn.0844ba20
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
mov byte [ebp - 4], 0xb
sar eax, 1
jne 0x846c43a
push str.invalid_vector_T__subscript
call fcn.0847ecf2
push ecx
lea eax, [ebp - 0x1d0]
push eax
call fcn.0844c800
mov eax, dword [ebp - 0x1e0]
add esp, 0x10
mov byte [ebp - 4], 9
test eax, eax
je 0x846c47f
push eax
call fcn.0849b460
add esp, 4
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x1d0]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1e8], esp
mov esi, esp
mov dword [ebp - 0x60], eax
push eax
call fcn.0844a650
add eax, 0x10
mov dword [esi], eax
mov edi, dword [ebp - 0x1d4]
mov esi, esp
add edi, 0xfffffff0
mov dword [ebp - 0x1ec], esp
push edi
mov byte [ebp - 4], 0xc
call fcn.0844a650
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov eax, dword [0x18404344]
mov byte [ebp - 4], 0xd
test al, 1
jne 0x846c509
or eax, 1
mov dword [0x18404344], eax
xorps xmm0, xmm0
mov byte [ebp - 4], 0xe
mov ecx, 0x1840432c
movq qword [0x1840433c], xmm0
movdqu xmmword [0x1840432c], xmm0
call fcn.08443550
push 0x84feef0
call fcn.0849b77d
add esp, 4
mov byte [ebp - 4], 0xd
mov ecx, 0x1840432c
mov byte [ebp - 4], 9
call fcn.0846d050
push 0x4c
lea eax, [ebp - 0x5c]
push 0
push eax
call fcn.0849dde0
mov eax, dword [ebp - 0x1e4]
lea ecx, [ebp - 0x5c]
add esp, 0xc
push dword [eax + 0x24]
call fcn.08443150
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x24]
call fcn.08445800
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x20]
call fcn.08445800
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x28]
call fcn.08445800
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp - 0x1c]
call fcn.08445800
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0x18]
call fcn.08445800
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x2c]
call fcn.08445800
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.08445800
lea eax, [ebp - 0x5c]
push eax
call fcn.084698a0
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5c]
call fcn.084452c0
mov edx, dword [ebp - 0x60]
or esi, 0xffffffff
mov byte [ebp - 4], 8
mov eax, esi
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x846c5c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
lea eax, [edi + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c5e2
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 8]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c602
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0xc]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c622
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x10]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c642
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x14]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c662
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x18]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c682
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x1c]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c6a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x20]
mov ecx, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x846c6c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x24]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x846c6e3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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.0849cd1e
mov esp, ebp
pop ebp
ret 0x20