Function at 0x10001a5e
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004da96
mov eax, dword fs:[0]
push eax
mov eax, 0x8908
call fcn.1004d750
mov eax, dword [0x1005b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x101086c0]
test eax, eax
je 0x100020d1
cmp dword [eax + 4], 3
je 0x10001ad2
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
cmp edx, dword [0x100d3ffc]
jl 0x100020d1
jg 0x10001ac3
cmp eax, dword [0x100d3ff8]
jb 0x100020d1
call fcn.1000197a
call fcn.10002feb
jmp 0x100020d1
lea ecx, [ebp - 0x8908]
call fcn.1000173a
xor ebx, ebx
jmp 0x10001fba
push ebx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x2f2c3c
mov byte [ebp - 0x14], 1
call fcn.100020eb
mov edx, eax
lea ecx, [ebp - 0x8908]
call fcn.10001868
pop ecx
push ebx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x3f353537
mov esi, eax
mov word [ebp - 0x3c], 0x38
mov byte [ebp - 0x3a], 1
call fcn.1000210c
mov edx, eax
lea ecx, [ebp - 0x8908]
call fcn.10001868
pop ecx
test eax, eax
je 0x10001c0a
test esi, esi
je 0x10001f95
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x1309081c
mov word [ebp - 0x44], 0xf
mov byte [ebp - 0x42], 1
call fcn.1000210c
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x10001b79
test cl, cl
je 0x10001b75
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x10001b79
add esi, 2
add eax, 2
test cl, cl
jne 0x10001b59
mov eax, ebx
jmp 0x10001b7e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10001f95
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x3d2f3b3d
mov word [ebp - 0x1c], 0x100
call fcn.1000212d
mov edx, eax
lea ecx, [ebp - 0x8908]
call fcn.100017f9
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0x393f353a
mov esi, eax
mov word [ebp - 0x24], 0x100
call fcn.1000212d
mov edx, eax
mov ecx, esi
call fcn.1000182e
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x2f283f34
mov dword [ebp - 0x68], 0x3a393c
mov byte [ebp - 0x64], 1
mov dword [esp], 0x10050593
call fcn.1000214e
mov edx, eax
mov ecx, esi
call fcn.10001868
pop ecx
mov edx, eax
mov ecx, 0x101085c0
call fcn.10002b0f
mov ecx, 0x100f402c
jmp 0x10001d5e
test esi, esi
je 0x10001f95
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x3d2f3b3d
mov word [ebp - 0x2c], 0x100
call fcn.1000212d
mov edx, eax
lea ecx, [ebp - 0x8908]
call fcn.100017f9
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x150f1918
mov edi, eax
mov dword [ebp - 0x84], 0x390b170b
mov dword [ebp - 0x80], 0x2d2c283e
mov word [ebp - 0x7c], 0x2b
mov byte [ebp - 0x7a], 1
call fcn.1000216f
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10001c88
test dl, dl
je 0x10001c84
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10001c88
add ecx, 2
add eax, 2
test dl, dl
jne 0x10001c68
mov eax, ebx
jmp 0x10001c8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10001cd0
push ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x2e383f2a
mov dword [ebp - 0x4c], 0x1002a38
call fcn.10002190
mov edx, eax
mov ecx, edi
call fcn.10001868
pop ecx
test eax, eax
je 0x10001f95
mov edx, eax
mov ecx, 0x101043a0
call fcn.10002b0f
mov ecx, 0x100d3ff5
jmp 0x10001d5e
movaps xmm0, xmmword [0x10057190]
lea ecx, [ebp - 0xac]
movups xmmword [ebp - 0xac], xmm0
mov word [ebp - 0x9c], 0x2c
mov byte [ebp - 0x9a], 1
call fcn.100021b1
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10001d1b
test dl, dl
je 0x10001d17
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10001d1b
add ecx, 2
add eax, 2
test dl, dl
jne 0x10001cfb
mov eax, ebx
jmp 0x10001d20
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10001d67
push ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0x2e383f2a
mov dword [ebp - 0x54], 0x1002a38
call fcn.10002190
mov edx, eax
mov ecx, edi
call fcn.10001868
pop ecx
test eax, eax
je 0x10001f95
mov edx, eax
mov ecx, 0x101086c8
call fcn.10002b0f
mov ecx, 0x100d3ff7
mov al, 1
xchg byte [ecx], al
jmp 0x10001f95
movaps xmm0, xmmword [0x100570f0]
lea ecx, [ebp - 0xb0]
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0xa0], 0x3f2e3f38
mov word [ebp - 0x9c], 0x39
mov byte [ebp - 0x9a], 1
call fcn.100021d2
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x10001dba
test cl, cl
je 0x10001db6
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x10001dba
add esi, 2
add eax, 2
test cl, cl
jne 0x10001d9a
mov eax, ebx
jmp 0x10001dbf
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10001f95
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x2e3e292c
mov word [ebp - 0x34], 0x100
call fcn.1000212d
mov edx, eax
mov ecx, edi
call fcn.100017f9
mov esi, eax
mov dword [ebp - 0x890c], 0x1003e30
push ebx
lea ecx, [ebp - 0x890c]
mov dword [ebp - 0x8910], esi
call fcn.100021f3
mov edx, eax
mov ecx, esi
call fcn.10001868
pop ecx
push ebx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x2e3e292c
mov edi, eax
mov dword [ebp - 0x74], 0x5323f33
mov word [ebp - 0x70], 0x100
call fcn.10002214
mov edx, eax
mov ecx, esi
call fcn.10001868
pop ecx
push 0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0x283a2c38
mov ebx, eax
mov dword [ebp - 0x5c], 0x1002c3c
call fcn.10002190
mov edx, eax
mov ecx, esi
call fcn.10001868
pop ecx
mov ecx, dword [0x100d3fc0]
mov dword [ebp - 0x8914], eax
cmp ecx, 8
jb 0x10001e6f
xor esi, esi
jmp 0x10001e8a
xor eax, eax
inc eax
lock xadd dword [0x100d3fb8], eax
inc eax
lea esi, [eax - 1]
and esi, 7
shl esi, 9
add esi, 0x100d2fb8
test edi, edi
je 0x10001f93
test ebx, ebx
je 0x10001f93
test esi, esi
je 0x10001f93
cmp byte [edi], 0
mov ecx, esi
je 0x10001ec1
xor edx, edx
inc edx
sub edx, edi
lea eax, [edx + edi]
cmp eax, 0x20
jae 0x10001ec1
mov al, byte [edi]
mov byte [ecx], al
inc ecx
inc edi
cmp byte [edi], 0
jne 0x10001eae
mov byte [ecx], 0
lea ecx, [esi + 0x20]
cmp byte [ebx], 0
je 0x10001ee6
xor edx, edx
inc edx
sub edx, ebx
lea eax, [edx + ebx]
cmp eax, 0x158
jae 0x10001ee6
mov al, byte [ebx]
mov byte [ecx], al
inc ecx
inc ebx
cmp byte [ebx], 0
jne 0x10001ed1
xor ebx, ebx
mov dword [ebp - 0x98], 0x3f28333d
mov byte [ecx], bl
lea ecx, [ebp - 0x98]
push ebx
mov dword [ebp - 0x94], 0x932372f
mov dword [ebp - 0x90], 0xb17030f
mov word [ebp - 0x8c], 0x17
mov byte [ebp - 0x8a], 1
call fcn.1000216f
mov ecx, dword [ebp - 0x8910]
mov edx, eax
call fcn.10001868
pop ecx
mov ecx, eax
test ecx, ecx
je 0x10001f5b
lea edx, [esi + 0x178]
cmp byte [ecx], bl
je 0x10001f59
xor edi, edi
inc edi
sub edi, ecx
lea eax, [edi + ecx]
cmp eax, 8
jae 0x10001f59
mov al, byte [ecx]
mov byte [edx], al
inc edx
inc ecx
cmp byte [ecx], bl
jne 0x10001f47
mov byte [edx], bl
mov ecx, dword [ebp - 0x8914]
add esi, 0x180
test ecx, ecx
je 0x10001f88
cmp byte [ecx], bl
je 0x10001f88
xor edx, edx
inc edx
sub edx, ecx
lea eax, [edx + ecx]
cmp eax, 0x80
jae 0x10001f88
mov al, byte [ecx]
mov byte [esi], al
inc esi
inc ecx
cmp byte [ecx], bl
jne 0x10001f74
mov byte [esi], bl
lock inc dword [0x100d3fc0]
jmp 0x10001f95
xor ebx, ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8cc]
call fcn.100029af
lea ecx, [ebp - 0x8908]
call fcn.100029ef
lea ecx, [ebp - 0x8908]
call fcn.1000173a
lea eax, [ebp - 0x8908]
mov dword [ebp - 4], ebx
mov ecx, dword [0x101086c0]
push eax
call fcn.10003249
test al, al
jne 0x10001ae4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8cc]
call fcn.100029af
lea ecx, [ebp - 0x8908]
call fcn.100029ef
xor al, al
mov ecx, 0x100d3ff6
xchg byte [ecx], al
test al, al
je 0x100020c8
cmp dword [0x101045b8], 0
je 0x100020c8
mov ebx, 0x100d3fc4
mov ecx, ebx
call fcn.100018b3
mov esi, dword [0x101045b8]
mov dword [ebp - 0x40b4], esi
test esi, esi
je 0x10002046
push esi
lea eax, [ebp - 0x40b0]
push 0x101045bc
push eax
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [ebp - 0x40b4]
add esp, 0xc
mov edi, dword [sym.imp.MSVCP140.dll__Mtx_unlock]
push ebx
call edi
pop ecx
push esi
lea eax, [ebp - 0x40b0]
push eax
call fcn.100031f0
test al, al
jne 0x100020c8
mov ecx, ebx
call fcn.100018b3
mov eax, dword [ebp - 0x40b4]
mov dword [0x101045b8], eax
test eax, eax
je 0x1000208c
push eax
lea eax, [ebp - 0x40b0]
push eax
push 0x101045bc
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, 1
mov ecx, 0x100d3ff6
xchg byte [ecx], al
push ebx
call edi
pop ecx
jmp 0x100020c8
xor eax, eax
inc eax
lock xadd dword [0x100f4024], eax
inc eax
dec eax
and eax, 7
imul eax, eax, 0x4004
add eax, 0x100d4000
push dword [eax]
add eax, 4
push eax
call fcn.100031f0
lock dec dword [0x100f4028]
mov eax, dword [0x100f4028]
test eax, eax
jne 0x1000209b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100498be
leave
ret