Function at 0x5e6fd96a
Capabilities:
Set thread local storage value

Disassembly:
push ebp
test byte [0x610dd784], 0x72
jo 0x5e6ba7e0
mov ebp, esp
sub esp, 0xc
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x1c]
nop
nop
push esi
mov esi, dword [ebp + 8]
push edi
nop
nop
mov edi, dword [ecx]
and dword [ecx], 0
nop
and dword [ebx], 0
cmp dword [esi], 9
mov dword [ebp - 0xc], edi
je 0x5e6fdc8e
cmp dword [esi], 8
je 0x5e6fdca1
mov edx, dword [esi + 0x28]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], edx
push ebx
mov ebx, edx
sub ebx, eax
pop ebx
jne 0x5e6fd9c6
cmp dword [ebp + 0x18], 0
je 0x5e6fdc7a
cmp dword [esi], 6
je 0x5e6fdabc
push ecx
mov ecx, dword [esi]
sub ecx, 7
pop ecx
je 0x5e6fdabc
mov eax, dword [ecx]
cmp eax, edi
je 0x5e6fdc82
test dword [0x610709ad], 0x4823c9cf
jo 0x5e70b48a
mov edi, dword [ebp + 0x10]
inc eax
mov dword [ecx], eax
mov al, byte [edi]
push eax
cmp dword [0x610bc91d], 0x7612348
jne 0x5e6fda3c
in al, dx
sub al, 0x82
xlatb
in al, 0xba
xchg ecx, eax
enter 0xffffffffffff94aa, 0x67
retf 0x162b
push esi
test dword [0x61080f24], 0xc858f8a3
jno 0x5e6fda84
cmc
pop ss
int 0x99
les eax, [edi - 0x3826cbd3]
adc ah, ch
inc ebx
sal byte [ebp + 0x56], 1
jp 0x5e6fda62
xchg edx, eax
xchg esp, eax
stosb byte es:[edi], al
jg 0x5e6fda84
adc eax, ecx
imul ebx, dword [edi], 0xf79c13d3
nop
out dx, al
cmp ecx, eax
mov bh, 0x35
adc esp, eax
add ecx, edx
fiadd word [eax]
xor eax, 0xd4488ed1
mov ch, byte [edi - 0x37de5771]
add dword [ebx], ebp
aaa
int3
call fcn.5e6fdfa7
pop ecx
mov ecx, ecx
pop ecx
mov ecx, dword [ebp + 0xc]
inc edi
mov dword [esi], eax
mov dword [ebp + 0x10], edi
push eax
mov eax, dword [ebp - 4]
sub eax, ecx
pop eax
jne 0x5e6fdaa8
cmp eax, 8
jne 0x5e6fdc8e
mov ecx, dword [ebp + 0x14]
cmp dword [esi], 9
je 0x5e6fdc8e
mov edi, dword [ebp - 0xc]
jmp 0x5e6fd9a2
nop
nop
nop
sub edi, dword [ecx]
sub eax, edx
and dword [ebp - 8], 0
mov ecx, dword [esi + 0xc]
mov dword [ebp + 0x1c], edi
nop
nop
mov dword [ebp + 8], eax
cmp eax, ecx
jb 0x5e6fdae0
mov dword [ebp + 8], ecx
mov dword [ebp - 8], 1
mov cl, byte [esi + 4]
push edx
mov dl, cl
and dl, cl
pop edx
js 0x5e6fdba2
push ebx
mov ebx, edi
and ebx, edi
pop ebx
je 0x5e6fdc82
cmp dword [esi], 6
jne 0x5e6fdb1f
xor eax, eax
push eax
mov al, cl
sub al, 1
pop eax
push 0
sete al
mov eax, eax
push eax
lea eax, [esi + 0x10]
push eax
call fcn.5e6d982c
mov edi, dword [ebp + 0x1c]
add esp, 0xc
push ebx
mov ebx, edi
sub ebx, dword [ebp + 8]
pop ebx
cmova edi, dword [ebp + 8]
mov dword [ebp + 0x1c], edi
test edi, edi
je 0x5e6fdc8e
nop
nop
mov eax, dword [esi + 0x20]
add eax, dword [esi + 0x28]
push edi
push dword [ebp + 0x10]
nop
push eax
call fcn.5e710a24
add dword [esi + 0x28], edi
cmp byte [0x610252ee], 0x57
je 0x5e6b3a6d
add esp, 0xc
cmp dword [esi + 0x3c], 0
jne 0x5e6fdb78
mov ecx, dword [esi + 0x14]
mov ecx, ecx
mov eax, ecx
mov eax, eax
sub eax, dword [esi + 0x38]
push edx
mov edx, eax
sub edx, edi
pop edx
ja 0x5e6fdb78
mov dword [esi + 0x3c], ecx
add dword [esi + 0x38], edi
mov ecx, dword [ebp + 0x14]
mov eax, eax
mov eax, dword [ebp + 0x1c]
add dword [ebp + 0x10], eax
mov ecx, ecx
add dword [ecx], eax
nop
nop
sub dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
neg eax
sbb eax, eax
and eax, 7
nop
nop
mov dword [esi], eax
jmp 0x5e6fdaab
push eax
mov eax, dword [esi]
sub eax, 6
pop eax
jne 0x5e6fdbdd
push edx
mov dl, cl
sub dl, 0xa0
pop edx
sbb eax, eax
inc eax
push ebx
mov bl, cl
sub bl, 0xe0
pop ebx
push eax
sbb eax, eax
inc eax
push eax
lea eax, [esi + 0x10]
push eax
call fcn.5e6d982c
mov edi, dword [ebp + 0x1c]
mov eax, eax
add esp, 0xc
mov ecx, ecx
mov edx, dword [ebp - 4]
mov dword [esi], 7
cmp edi, dword [esi + 8]
lea eax, [ebp + 0x1c]
push ebx
push dword [ebp - 8]
cmova edi, dword [esi + 8]
mov eax, eax
push eax
mov eax, dword [ebp + 8]
mov dword [ebp + 0x1c], edi
add eax, edx
mov edi, dword [ebp + 0x10]
push edi
push eax
lea eax, [esi + 0x10]
push eax
call int.5e6d9278
mov edx, dword [ebp + 0x1c]
add esp, 0x18
mov ecx, ecx
mov ecx, dword [ebp + 0x14]
add edi, edx
mov dword [ebp + 0x10], edi
mov ecx, ecx
add dword [ecx], edx
cmp byte [0x60fd7c56], 0xd8
js 0x5e7296ed
mov edi, dword [esi + 0x28]
sub edi, dword [ebp - 4]
sub dword [esi + 8], edx
sub dword [esi + 0xc], edi
mov edx, dword [esi + 8]
push edx
mov edx, eax
and edx, eax
pop edx
jne 0x5e6fdc8e
push eax
mov eax, dword [ebx]
sub eax, 3
pop eax
je 0x5e6fdc8a
cmp dword [ebp + 0x1c], eax
jne 0x5e6fdc70
push ecx
mov ecx, edi
and ecx, edi
pop ecx
jne 0x5e6fdc70
push ecx
mov ecx, dword [ebx]
sub ecx, 4
pop ecx
jne 0x5e6fdc8e
push edx
mov edx, dword [esi + 0xc]
sub edx, edi
pop edx
jne 0x5e6fdc8e
push ecx
mov ecx, edx
and ecx, edx
pop ecx
jne 0x5e6fdc8e
mov eax, eax
and dword [esi], edi
and dword [ebx], 0
mov ecx, ecx
jmp 0x5e6fdaab
mov dword [ebx], 2
jmp 0x5e6fdca7
mov dword [ebx], 3
jmp 0x5e6fdca7
test edx, edx
jne 0x5e6fdca7
and dword [ebx], 0
xor eax, eax
mov dword [esi], 9
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx], 1
mov eax, eax
xor eax, eax
jmp 0x5e6fdc9a
xor eax, eax
jmp 0x5e70b50f
ja 0x5e70b4a1
mov eax, dword [esi]
pop ecx
mov dword [ebp - 8], eax
nop
mov eax, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 4], eax
mov eax, eax
lea eax, [ebp - 8]
mov eax, eax
push 0
nop
shr byte [edx], 0x90
push eax
push 2
test byte [0x610afac4], 0x6a
jno 0x5e70b4dc
in al, dx
inc edx
cmc
scasb al, byte es:[edi]
dec eax
invalid
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 2
jb 0x5e70b4ee
mov eax, 0x80004005
jmp 0x5e70b50f
sub edi, dword [esi + 0x10]
je 0x5e70b506
push eax
mov eax, ebx
and eax, ebx
pop eax
je 0x5e70b42a
mov dword [ebx], edi
jmp 0x5e70b42a
mov byte [esi + 0xc], 1
mov eax, 0x20000010
pop edi
mov eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
and dword [ebp - 0x18], 0xfffffffe
mov ecx, dword [ebp - 0x1c]
jmp fcn.5e6b2af9