Function at 0x10073170
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009c5fa
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x390
mov eax, dword [0x100b1010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
mov dword [0x100bdb18], eax
mov eax, dword [ebx + 0xc]
push 0x100bdb28
mov dword [0x100bdb10], eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x10073c77
push 0x100bdb20
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x10073c77
mov edi, dword [0x100b10e0]
mov eax, dword [0x100bdb18]
push ecx
mov dword [edi + 0x28], 9
mov dword [edi + 0x2c], 0x25
mov dword [edi + 0x30], 0x27
mov dword [edi + 0x34], 0x26
mov dword [edi + 0x38], 0x28
mov dword [edi + 0x3c], 0x21
mov dword [edi + 0x40], 0x22
mov dword [edi + 0x44], 0x24
mov dword [edi + 0x48], 0x23
mov dword [edi + 0x4c], 0x2e
mov dword [edi + 0x50], 8
mov dword [edi + 0x54], 0xd
mov dword [edi + 0x58], 0x1b
mov dword [edi + 0x5c], 0x41
mov dword [edi + 0x60], 0x43
mov dword [edi + 0x64], 0x56
mov dword [edi + 0x68], 0x58
mov dword [edi + 0x6c], 0x59
mov dword [edi + 0x70], 0x5a
mov dword [edi + 0xa8], 0x10070010
mov dword [edi + 0xc0], eax
mov ecx, dword [edi + 0x80]
call fcn.1006d340
mov cl, 0x41
mov dword [ebp - 0x24], 0x15120041
mov dword [ebp - 0x20], 0xc140813
xor eax, eax
mov dword [ebp - 0x1c], 0x12030015
mov byte [ebp - 0x18], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x100732bf
mov cl, byte [ebp - 0x24]
jmp 0x100732b0
lea ecx, [ebp - 0x23]
mov byte [ebp - 0x18], 0
call fcn.10072a50
lea ecx, [ebp - 0xa4]
call fcn.10072840
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0xa4]
call fcn.100724e0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
call fcn.100724e0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
push ecx
mov ecx, eax
call fcn.100723a0
lea ecx, [ebp - 0x44]
call fcn.1007c840
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.1007c840
lea ecx, [ebp - 0x74]
call fcn.10072610
mov byte [ebp - 4], 6
mov dh, 0x64
mov al, 0x25
mov byte [ebp - 0x16], 0
mov ah, 5
mov byte [ebp - 0x1c], dh
mov cl, 0x16
mov byte [ebp - 0x16], 0
xor cl, dh
mov dword [ebp - 0x3c], 0x32352766
mov dl, 0xd
mov byte [ebp - 0x1a], cl
mov ch, 8
mov dword [ebp - 0x38], 0x2b332f34
xor al, dh
mov dword [ebp - 0x34], 0x35242732
xor ah, dh
mov byte [ebp - 0x1b], al
xor dl, dh
mov byte [ebp - 0x18], ah
xor ch, dh
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x17], ch
mov cl, 0x66
mov byte [ebp - 0x30], 0
xor eax, eax
nop word [eax + eax]
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xb
jae 0x1007338f
mov cl, byte [ebp - 0x3c]
jmp 0x10073380
lea eax, [ebp - 0x1b]
mov byte [ebp - 0x30], 0
push eax
lea edx, [ebp - 0x3b]
lea ecx, [ebp - 0x3a0]
call fcn.10072d90
add esp, 4
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 7
call fcn.10072840
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.100724e0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 9
push ecx
mov ecx, eax
call fcn.100723a0
lea ecx, [ebp - 0x118]
call fcn.1007c840
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xc
call fcn.1007c840
push ecx
lea ecx, [ebp - 0x2f0]
call fcn.1003c390
push ecx
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0xd
call fcn.1003c390
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x230]
push dword [ebp - 0x4c]
cmovae edx, dword [ebp - 0x5c]
call fcn.10044f10
mov dl, 0x16
mov byte [ebp - 0x18a], 0
mov cl, 0x4a
mov byte [ebp - 0x18c], dl
xor cl, dl
mov byte [ebp - 0x18a], 0
add esp, 4
mov byte [ebp - 0x18b], cl
lea edx, [ebp - 0x18b]
mov ecx, eax
call fcn.1003cee0
mov byte [ebp - 0x1c], 7
mov cl, 0x41
xor cl, byte [ebp - 0x1c]
mov esi, eax
mov byte [ebp - 0x1b], cl
mov dl, 0x68
mov cl, byte [ebp - 0x1c]
mov ch, 0x69
mov dh, 0x73
mov byte [ebp - 0x15], 0
mov al, 0x74
mov byte [ebp - 0x15], 0
mov ah, 0x5b
xor dl, cl
xor ch, cl
mov byte [ebp - 0x1a], dl
xor dh, cl
mov byte [ebp - 0x19], ch
xor al, cl
mov byte [ebp - 0x18], dh
xor ah, cl
mov byte [ebp - 0x17], al
mov byte [ebp - 0x16], ah
lea edx, [ebp - 0x1b]
mov ecx, esi
call fcn.1003cee0
mov esi, eax
mov dword [ebp - 0x3c], 0x606d4f0c
mov cl, 0xc
mov dword [ebp - 0x38], 0x657e6e65
mov dword [ebp - 0x34], 0x6a787822
xor eax, eax
mov byte [ebp - 0x30], 0
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xb
jae 0x100734cf
mov cl, byte [ebp - 0x3c]
jmp 0x100734c0
lea edx, [ebp - 0x3b]
mov byte [ebp - 0x30], 0
mov ecx, esi
call fcn.1003cee0
movss xmm3, dword [0x100a64bc]
mov ecx, dword [edi + 0x80]
push 0x100a4ce0
push 0
push 0x1568
push 0x100b1f08
call fcn.1006d4f0
mov dword [0x100b7e98], eax
lea ecx, [ebp - 0x240]
mov eax, dword [edi + 0x80]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x44]
push eax
call fcn.1003c2a0
mov esi, eax
mov byte [ebp - 4], 0xf
cmp dword [esi + 0x14], 0x10
jb 0x1007352c
mov esi, dword [esi]
push ecx
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x18c], 0
push eax
mov ecx, esi
call fcn.1004cd00
mov edi, eax
add esp, 8
test edi, edi
je 0x1007360c
lea ecx, [ebp - 0x188]
call fcn.1006cf70
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x100], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0xf0], xmm0
movups xmm1, xmmword [eax + 0x20]
movups xmmword [ebp - 0xe0], xmm1
movups xmm0, xmmword [eax + 0x30]
psrldq xmm1, 0xe
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [ebp - 0xc0], xmm0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xb0], eax
movd eax, xmm1
test al, al
jne 0x100735e9
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100735b0
sub ecx, edx
lea eax, [esi + ecx]
cmp eax, esi
jbe 0x100735d2
mov dl, byte [eax - 1]
cmp dl, 0x2f
je 0x100735d2
cmp dl, 0x5c
je 0x100735d2
dec eax
cmp eax, esi
ja 0x100735c0
push eax
push 0x100a4074
lea eax, [ebp - 0xd2]
push 0x20
push eax
call fcn.10063640
add esp, 0x10
movss xmm3, dword [0x100a649c]
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x18]
push 0x100a51d0
push eax
push dword [ebp - 0x18c]
push edi
call fcn.1006d4f0
mov ecx, dword [ebp - 0x30]
mov dword [0x100b7e9c], eax
cmp ecx, 0x10
jb 0x10073647
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007363d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007363d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
mov eax, dword [0x100b10e0]
mov dword [eax + 0x142c], 0x3f5c28f6
mov dword [eax + 0x1430], 0x3f6e147b
mov dword [eax + 0x1434], 0x3f63d70a
mov dword [eax + 0x1438], 0x3f47ae14
mov dword [eax + 0x143c], 0x3f5c28f6
mov dword [eax + 0x1440], 0x3f6e147b
mov dword [eax + 0x1444], 0x3f63d70a
mov dword [eax + 0x1448], 0x3f47ae14
movaps xmm0, xmmword [0x100a6da0]
movups xmmword [eax + 0x144c], xmm0
movaps xmm0, xmmword [0x100a6d90]
movups xmmword [eax + 0x145c], xmm0
movaps xmm0, xmmword [0x100a65e0]
movups xmmword [eax + 0x147c], xmm0
mov dword [eax + 0x149c], 0x3f4ccccd
mov dword [eax + 0x14a0], 0x3f4ccccd
mov dword [eax + 0x14a4], 0x3f4ccccd
mov dword [eax + 0x14a8], 0x3db851ec
mov dword [eax + 0x14ac], 0x3ec7ae14
mov dword [eax + 0x14b0], 0x3ec7ae14
mov dword [eax + 0x14b4], 0x3ec7ae14
mov dword [eax + 0x14b8], 0x3f800000
mov dword [eax + 0x14bc], 0x3d23d70a
mov dword [eax + 0x14c0], 0x3d23d70a
mov dword [eax + 0x14c4], 0x3d23d70a
mov dword [eax + 0x14c8], 0x3f6147ae
mov dword [eax + 0x14cc], 0x3e4ccccd
mov dword [eax + 0x14d0], 0x3e6147ae
mov dword [eax + 0x14d4], 0x3e8a3d71
mov dword [eax + 0x14d8], 0x3f800000
mov dword [eax + 0x14dc], 0x3e4ccccd
mov dword [eax + 0x14e0], 0x3e6147ae
mov dword [eax + 0x14e4], 0x3e8a3d71
mov dword [eax + 0x14e8], 0x3f400000
mov dword [eax + 0x14ec], 0x3e19999a
mov dword [eax + 0x14f0], 0x3f19999a
mov dword [eax + 0x14f4], 0x3f47ae14
mov dword [eax + 0x14f8], 0x3f800000
mov dword [eax + 0x14fc], 0x3eb33333
mov dword [eax + 0x1500], 0x3eb33333
mov dword [eax + 0x1504], 0x3eb33333
mov dword [eax + 0x1508], 0x3f800000
mov dword [eax + 0x157c], 0x3e19999a
mov dword [eax + 0x1580], 0x3f19999a
mov dword [eax + 0x1584], 0x3f47ae14
mov dword [eax + 0x1588], 0x3f800000
mov dword [eax + 0x158c], 0x3e75c28f
mov dword [eax + 0x1590], 0x3ecccccd
mov dword [eax + 0x1594], 0x3f733333
mov dword [eax + 0x1598], 0x3f800000
mov dword [eax + 0x159c], 0x3e75c28f
mov dword [eax + 0x15a0], 0x3ecccccd
mov dword [eax + 0x15a4], 0x3f733333
mov dword [eax + 0x15a8], 0x3f170a3d
mov dword [eax + 0x15ac], 0x3ec7ae14
mov dword [eax + 0x15b0], 0x3ec7ae14
mov dword [eax + 0x15b4], 0x3ec7ae14
mov dword [eax + 0x15b8], 0x3f800000
mov dword [eax + 0x15bc], 0x3e75c28f
mov dword [eax + 0x15c0], 0x3ecccccd
mov dword [eax + 0x15c4], 0x3f733333
mov dword [eax + 0x15c8], 0x3f800000
mov dword [eax + 0x15cc], 0x3e75c28f
mov dword [eax + 0x15d0], 0x3ecccccd
mov dword [eax + 0x15d4], 0x3f733333
mov dword [eax + 0x15d8], 0x3f170a3d
mov dword [eax + 0x15dc], 0x3ec7ae14
mov dword [eax + 0x15e0], 0x3ec7ae14
mov dword [eax + 0x15e4], 0x3ec7ae14
mov dword [eax + 0x15e8], 0x3f800000
mov dword [eax + 0x15fc], 0x3f333333
mov dword [eax + 0x1600], 0x3ca3d70a
mov dword [eax + 0x1604], 0x3f19999a
mov dword [eax + 0x1608], 0x3e6147ae
mov dword [eax + 0x164c], 0x3e75c28f
mov dword [eax + 0x1650], 0x3ecccccd
mov dword [eax + 0x1654], 0x3f733333
mov dword [eax + 0x1658], 0x3f800000
mov dword [eax + 0x165c], 0x3e75c28f
mov dword [eax + 0x1660], 0x3ecccccd
mov dword [eax + 0x1664], 0x3f733333
mov dword [eax + 0x1668], 0x3f170a3d
mov dword [eax + 0x150c], 0x3e75c28f
mov dword [eax + 0x1510], 0x3ecccccd
mov dword [eax + 0x1514], 0x3f733333
mov dword [eax + 0x1518], 0x3f800000
mov dword [eax + 0x151c], 0x3e75c28f
mov dword [eax + 0x1520], 0x3ecccccd
mov dword [eax + 0x1524], 0x3f733333
mov dword [eax + 0x1528], 0x3f800000
mov dword [eax + 0x153c], 0x3e75c28f
mov dword [eax + 0x1540], 0x3ecccccd
mov dword [eax + 0x1544], 0x3f733333
mov dword [eax + 0x1548], 0x3f800000
mov dword [eax + 0x152c], 0x3e75c28f
mov dword [eax + 0x1530], 0x3ecccccd
mov dword [eax + 0x1534], 0x3f733333
mov dword [eax + 0x1538], 0x3f800000
mov dword [eax + 0x13cc], 0
mov dword [eax + 0x13d8], 0x40800000
mov dword [eax + 0x13dc], 0
mov dword [eax + 0x13bc], 0
mov dword [eax + 0x13c0], 0
mov dword [eax + 0x13e4], 0
mov dword [eax + 0x13e8], 0
mov dword [eax + 0x1404], 0x41200000
mov dword [eax + 0x1408], 0
mov dword [eax + 0x140c], 0x40a00000
mov eax, dword [ebp - 0x240]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x244], eax
lea ecx, [ebp - 0x228]
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.1003ca40
lea ecx, [ebp - 0x228]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x220]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x1d8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [ebp - 0x2f0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x2f4], eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.1003ca40
lea ecx, [ebp - 0x2d8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x2d0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x288]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x10073b66
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10073b5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073c43
push ecx
push edx
call fcn.1009827d
add esp, 8
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x3a4], eax
lea ecx, [ebp - 0x388]
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.1003ca40
lea ecx, [ebp - 0x388]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x380]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x338]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x10073c08
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10073bfe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073c43
push ecx
push edx
call fcn.1009827d
add esp, 8
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
cmp ecx, 0x10
jb 0x10073c53
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10073c49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10073c49
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
call fcn.1007c840
mov al, 1
jmp 0x10073c79
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1009823a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8