Function at 0x55ebf3
Capabilities:
Allocate thread local storage
Get system information on windows
Query environment variable
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x6a2f80], 0
je 0x55ec16
xor al, al
jmp 0x55f1bf
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x6b0b00], eax
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x12c]
mov dword [0x69f5d8], ecx
lea ecx, [eax - 1]
mov dword [0x69f5a8], eax
bsf eax, eax
mov dword [0x69f5ac], ecx
je 0x55ec5b
lea edi, [eax + 1]
jmp 0x55ec5d
xor edi, edi
mov esi, dword [0x6b0b08]
dec edi
and dword [ebp - 0x118], 0
mov dword [0x69f528], edi
mov eax, dword [ebp - 0x118]
sub eax, 0
je 0x55ec90
dec eax
je 0x55ed55
dec eax
jne 0x55ec90
mov ebx, dword [0x6dddb8]
test ebx, ebx
jne 0x55ec9d
lea ebx, [ebp - 0x10c]
mov byte [ebp - 0x10c], 0
and dword [ebp - 0x110], 0
cmp byte [ebx], 0
je 0x55ef1c
mov eax, ebx
mov al, byte [eax]
xor ecx, ecx
xor dl, dl
cmp al, 0x30
jl 0x55ece0
cmp al, 0x39
jg 0x55ecdc
imul ecx, ecx, 0xa
inc dword [ebp - 0x110]
movsx eax, al
lea ecx, [ecx + eax - 0x30]
mov eax, dword [ebp - 0x110]
mov al, byte [eax + ebx]
mov dl, 1
cmp al, 0x30
jge 0x55ecb9
test dl, dl
jne 0x55ece3
xor ecx, ecx
inc ecx
test ecx, ecx
je 0x55ef05
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0x110]
mov cl, byte [eax + ebx]
movsx eax, cl
cmp eax, 0x61
jg 0x55ee31
je 0x55ee25
cmp eax, 0x4e
jg 0x55edd1
je 0x55edc6
sub eax, 0x41
je 0x55edba
dec eax
je 0x55eef9
sub eax, 4
je 0x55ed90
dec eax
je 0x55ed85
sub eax, 4
jne 0x55ee91
mov eax, dword [0x6b0b10]
inc eax
cmp eax, 0x20
jae 0x55eef9
mov dword [0x6b0b10], eax
jmp 0x55eef9
push 0x40
push 0x69f550
push str.MALLOC_OPTIONS
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edi, dword [0x69f528]
mov esi, dword [0x6b0b08]
test eax, eax
je 0x55ec90
mov ebx, 0x69f550
jmp 0x55ec9d
inc dword [0x6a2f88]
jmp 0x55eef9
mov eax, dword [0x6b0b04]
test eax, eax
jne 0x55eda8
mov dword [0x6b0b04], 1
jmp 0x55eef9
add eax, eax
je 0x55eef9
mov dword [0x6b0b04], eax
jmp 0x55eef9
mov byte [0x6a2f81], 1
jmp 0x55eef9
inc dword [0x6a2f8c]
jmp 0x55eef9
sub eax, 0x50
je 0x55ee19
dec eax
je 0x55ee08
dec eax
je 0x55edfd
dec eax
jne 0x55ee91
lea eax, [edi - 1]
cmp dword [0x6b0b0c], eax
jae 0x55eef9
inc dword [0x6b0b0c]
jmp 0x55eef9
inc dword [0x6a2f84]
jmp 0x55eef9
lea eax, [edi - 1]
cmp esi, eax
jae 0x55eef9
inc esi
jmp 0x55eeea
mov byte [0x6a2f82], 1
jmp 0x55eef9
mov byte [0x6a2f81], 0
jmp 0x55eef9
cmp eax, 0x6e
jg 0x55ee83
je 0x55ee7b
sub eax, 0x62
je 0x55eef9
sub eax, 4
je 0x55ee73
dec eax
je 0x55ee68
sub eax, 4
jne 0x55ee91
lea eax, [edi + 1]
cmp dword [0x6b0b10], eax
jbe 0x55eef9
dec dword [0x6b0b10]
jmp 0x55eef9
dec dword [0x6a2f88]
jmp 0x55eef9
shr dword [0x6b0b04], 1
jmp 0x55eef9
dec dword [0x6a2f8c]
jmp 0x55eef9
sub eax, 0x70
je 0x55eef2
dec eax
je 0x55eee4
dec eax
je 0x55eedc
dec eax
je 0x55eecb
push 0x665828
lea eax, [ebp - 0x114]
push eax
push str.:__malloc__Unsupported_character_in_malloc_options:_
push str._jemalloc_
mov byte [ebp - 0x114], cl
mov byte [ebp - 0x113], 0
call dword [0x6b0b14]
mov edi, dword [0x69f528]
mov esi, dword [0x6b0b08]
add esp, 0x10
jmp 0x55eef9
cmp dword [0x6b0b0c], 4
jbe 0x55eef9
dec dword [0x6b0b0c]
jmp 0x55eef9
dec dword [0x6a2f84]
jmp 0x55eef9
cmp esi, 4
jbe 0x55eef9
dec esi
mov dword [0x6b0b08], esi
jmp 0x55eef9
mov byte [0x6a2f82], 0
dec dword [ebp - 0x11c]
jne 0x55ecf1
inc dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
add eax, ebx
cmp byte [eax], 0
jne 0x55ecaf
inc dword [ebp - 0x118]
cmp dword [ebp - 0x118], 3
jb 0x55ec71
cmp dword [0x6b0b0c], esi
jae 0x55ef3d
mov dword [0x6b0b0c], esi
mov ebx, dword [0x6b0b0c]
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
mov ecx, dword [0x69f5a8]
shr ecx, 1
mov dword [0x69f530], ecx
mov dword [0x69f5e4], eax
mov ecx, esi
shr eax, cl
lea edx, [esi - 1]
mov dword [0x69f590], edx
mov dword [0x69f59c], eax
mov eax, edi
sub eax, ebx
dec eax
mov dword [0x69f51c], eax
xor eax, eax
inc eax
shl eax, cl
xor ebx, ebx
lea ecx, [eax - 1]
mov dword [0x69f5d4], eax
mov dword [0x69f598], ecx
cmp edx, ebx
jbe 0x55ef9c
shr eax, 1
inc eax
mov dword [0x69f4d4], eax
jmp 0x55efa6
mov dword [0x69f4d4], 1
mov ecx, dword [0x6b0b10]
xor eax, eax
inc eax
shl eax, cl
push 0x69f640
lea ecx, [eax - 1]
mov edx, eax
mov dword [0x69f4cc], ecx
mov ecx, edi
shr edx, cl
mov dword [0x69f500], eax
mov edi, 0x69f660
lea esi, [edx - 1]
imul esi, esi, 0xc
mov dword [0x69f5dc], edx
mov edx, dword [0x69f5ac]
add esi, 0x1c
and edx, esi
neg edx
sbb edx, edx
shr esi, cl
neg edx
add edx, esi
mov dword [0x69f524], edx
shl edx, cl
sub eax, edx
mov dword [0x69f520], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.0055ae39
mov eax, 0x69f604
mov dword [0x69f600], eax
mov dword [0x69f60c], eax
and eax, 0xfffffffe
mov dword [0x69f610], eax
mov dword [0x69f5a0], ebx
mov dword [0x69f5a4], ebx
mov dword [0x69f5e8], ebx
mov dword [0x69f5ec], ebx
mov dword [0x69f658], ebx
mov dword [0x69f4fc], ebx
mov dword [0x69f4d0], ebx
mov dword [0x69f4d8], ebx
mov dword [esp], 0x69f504
call fcn.0055ae39
xor edx, edx
inc edx
pop ecx
mov ecx, dword [0x6a2f8c]
mov eax, edx
mov dword [0x69f5c8], eax
cmp ecx, ebx
jle 0x55f097
mov esi, edx
shl esi, cl
cmp esi, edx
jbe 0x55f081
mov eax, esi
mov dword [0x69f5c8], eax
mov ecx, dword [0x69f500]
mov edx, eax
shl edx, 2
cmp edx, ecx
jbe 0x55f0b5
shr ecx, 2
mov eax, ecx
jmp 0x55f0b0
jge 0x55f0b5
neg ecx
mov esi, edx
shr esi, cl
cmp esi, edx
jae 0x55f0b5
mov eax, esi
mov dword [0x69f5c8], eax
cmp eax, ebx
jne 0x55f0b5
mov eax, edx
mov dword [0x69f5c8], eax
shl eax, 2
mov dword [0x69f5d0], ebx
call fcn.0055aed8
mov dword [0x69f5e0], eax
cmp eax, ebx
je 0x55f122
mov ecx, dword [0x69f5c8]
shl ecx, 2
push ecx
push ebx
push eax
call fcn.00402394
push ebx
call fcn.0055e98c
mov eax, dword [0x69f5e0]
mov eax, dword [eax]
add esp, 0x10
cmp eax, ebx
je 0x55f122
push eax
push dword [0x6b0b00]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push 0x69f5b0
call fcn.0055ae39
push 0x20
pop eax
sub eax, dword [0x6b0b10]
push eax
call fcn.0055bdb5
pop ecx
pop ecx
mov dword [0x69f63c], eax
cmp eax, ebx
jne 0x55f129
mov al, 1
jmp 0x55f1bc
push 0x69f534
call fcn.0055ae39
mov edx, dword [0x69f500]
pop ecx
mov ecx, dword [0x6a2f88]
mov dword [0x69f54c], ebx
mov dword [0x69f5f8], ebx
mov dword [0x69f594], ebx
cmp ecx, ebx
jl 0x55f15f
mov eax, edx
shl eax, cl
mov dword [0x69f594], eax
mov ecx, dword [0x6a2f84]
mov eax, 0x69f4e0
mov dword [0x69f4dc], eax
mov dword [0x69f4e0], eax
and eax, 0xfffffffe
mov dword [0x69f4e4], eax
mov eax, 0x69f624
mov dword [0x69f620], eax
mov dword [0x69f62c], eax
and eax, 0xfffffffe
inc ecx
mov dword [0x69f61c], ebx
mov dword [0x69f5f0], ebx
mov dword [0x69f5f4], ebx
mov dword [0x69f630], eax
cmp ecx, ebx
jl 0x55f1b3
shl edx, cl
mov ecx, edx
call fcn.0055f407
mov byte [0x6a2f80], 1
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403fc1
leave
ret