Function at 0x10019280
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [ebp + 8]
push ebx
lea edx, [eax + 0x173]
push esi
mov ecx, eax
push edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], edx
cmp eax, edx
ja 0x100192e7
mov ebx, dword [ebp + 8]
xor esi, esi
jmp 0x100192b0
mov edx, dword [ebp + 0xc]
cmp ecx, 0x53b3
ja 0x1001949f
je 0x10019492
mov eax, ecx
sub eax, 0x3278
je 0x10019865
sub eax, 0x1bb4
je 0x100192f1
sub eax, 7
jne 0x10019849
ret 0xa4e
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
outsb dx, byte [esi]
daa
mov bl, 0xaa
jae 0x10019330
xor eax, 0x10139de8
je 0x10019484
mov eax, dword [0x10139dec]
push 0
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0
push 0x6140
push 0
push 0
mov dword [ebp - 0x18], eax
call fcn.10010910
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x10019484
mov eax, 0x1cb2
mov dl, 0x1c
add byte [eax], al
mov dword [ebp - 4], eax
jmp 0x10019340
sub eax, 0x1cb2
je 0x1001943a
sub eax, 8
je 0x10019419
sub eax, 8
jne 0x10019470
xor byte [esi - 0x27], 0x77
cmp dword [esi + 0x7c], eax
je 0x100193d9
jmp 0x10019370
mov edi, 0x6364
mov eax, edi
sub eax, 0x6364
je 0x10019397
sub eax, 0x21
jne 0x100193c8
ljmp 0x558b:0xb86a9cb4
int3
add edi, 0x21
cmp edi, 0x6385
jbe 0x10019375
cmp dword [esi + 0x7c], 0
jne 0x10019370
cmp dword [esi + 0x84], 1
jne 0x10019470
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x30]
push edx
push 0x5b6e
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
call fcn.1001caa0
mov eax, dword [0x10139dec]
add esp, 8
test eax, eax
je 0x10019470
mov eax, dword [eax]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
jmp 0x10019470
xchg edi, eax
wait
invalid
xor ch, byte [edi - 0x746a3dc9]
push esi
or al, 0x8b
inc esi
adc byte [edx], ch
lea ecx, [ebp - 0x38]
push 0x278b
push ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
call fcn.10010640
push 0x2d2f
lea edx, [ebp - 0x58]
push edx
lea eax, [esi + 0x20]
push eax
call int.1002aa80
add esp, 0x18
mov eax, dword [ebp - 4]
add eax, 8
mov dword [ebp - 4], eax
cmp eax, 0x1cc2
jbe 0x10019340
mov dword [ebp - 4], 1
xor esi, esi
jmp 0x10019849
push esi
jno 0x100194a3
xor eax, dword [ebp - 0x77]
jne 0x100194a2
jmp 0x10019849
mov eax, ecx
sub eax, 0x53ba
mov edx, 0xf000053
test byte [edx - 0x7cfffffd], cl
call 0xa486a3b9
add eax, dword [eax]
add byte [ebp - 0x71433cca], ah
mov ecx, dword [ebp + 8]
mov eax, 0x4bc8
mov dword [ebp - 0x18], eax
push ebx
add byte [eax], al
je 0x10019836
sub eax, 7
jne 0x10019849
movsd dword es:[edi], dword [esi]
ret
sub eax, 0x4bc8
je 0x100194e4
sub eax, 0x2e
jne 0x10019820
imul edx, dword [eax - 0x745e2c27], 0x45
cld
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sbb cl, byte [edi + 0x3e]
ja 0x10019542
cmp dword [edx], 0xffffffff
je 0x1001979f
mov edi, 0x1717
mov dword [ebp - 0x14], edi
jmp 0x10019503
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, 0x1717
je 0x10019770
sub eax, 0x2c
je 0x10019713
sub eax, 0x2c
jne 0x1001978b
std
sal byte [ebx + ecx*8 + 0x74c9856a], 0x4b
mov esi, 0x1ce2
mov eax, esi
sub eax, 0x1ce2
je 0x1001954d
sub eax, 0x3b
jne 0x1001956b
xchg dword [esi - 0x74faa721], ecx
inc ebp
cld
pop edi
add eax, 0x5ffc458b
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add dword [eax + edx*2 + 0x4d8de71a], edx
mov eax, 0x6e0f6851
add byte [eax], al
push 0
call fcn.10028f60
mov edx, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 4], edx
add esi, 0x3b
cmp esi, 0x1d1d
jbe 0x10019530
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jle 0x100195e3
mov esi, 0x1007
cmp esi, esi
jne 0x100195d3
rol edi, cl
das
cmc
and ebp, dword [edx]
lea ecx, [ebx + 0x10]
push 0x4053
push ecx
call fcn.1000ec60
add esp, 0xc
test eax, eax
je 0x100195b6
push 0
push 0x4e77
push 0
call fcn.10018620
add esp, 0xc
mov dword [ebp + 8], eax
push 0
lea edx, [ebx + 0x14]
push 0x2167
push edx
call fcn.10030840
add esp, 0xc
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0x10
add esi, 0x35
cmp esi, 0x1007
jbe 0x10019584
jmp 0x100196fe
mov edi, 0x7272
jmp 0x100195f0
mov eax, edi
sub eax, 0x7272
je 0x1001968b
sub eax, 0x15
je 0x10019621
sub eax, 0x15
jne 0x100196ef
or ebp, dword [ebx - 0x34]
push ebx
out 0x68, eax
leave
pop ecx
add byte [eax], al
push ebx
push eax
call fcn.1000d660
jmp 0x100196ec
pop ecx
pop eax
jp 0x10019627
jl 0x10019691
add byte [ebp + 0x67681473], cl
and dword [eax], eax
add byte [esi - 0x18], dl
or dh, byte [edx + 1]
add byte [ebx + 0x45890cc4], al
hlt
xor al, 0xe0
stosb byte es:[edi], al
not byte [ebp + 0x6a0c458b]
inc ebp
or al, 0x6a
add byte [ebp + 0x6851104b], cl
mov dh, 4
add byte [eax], al
mov dword [eax], 0
call fcn.10012350
add esp, 0xc
test eax, eax
je 0x100196c4
push 0
push 0x4e77
push 0
call fcn.10018620
add esp, 0xc
mov dword [ebp + 8], eax
push 0
lea edx, [ebx + 0xc]
push edx
push 0x4b6
call fcn.10012350
add esp, 0xc
test eax, eax
je 0x100196ef
push 0
push 0x4e77
push 0
call fcn.10018620
mov dword [ebp - 0x10], eax
add esp, 0xc
add edi, 0x15
cmp edi, 0x729c
jbe 0x100195f0
lea eax, [ebp - 0x48]
push eax
push 0x6e0f
push 0
call fcn.10028f60
mov edi, dword [ebp - 0x14]
jmp 0x10019788
dec ebx
enter 0xffffffffffff9d01, 0x40
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx]
push 0x7cf9
lea esi, [ebx + 0x10]
push esi
push 0
call fcn.1000dd30
add esp, 0xc
test eax, eax
je 0x10019747
push 0
push 0x4e77
push 0
call fcn.10018620
mov dword [ebp + 8], eax
jmp 0x10019788
lea edx, [ebx + 0x14]
push edx
push 0x11b1
push 0
call fcn.100175d0
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
je 0x1001978b
push 0
push 0x4053
push esi
call fcn.1000ec60
jmp 0x10019788
sahf
iretd
add esp, 0xc
add edi, 0x2c
mov dword [ebp - 0x14], edi
cmp edi, 0x176f
jbe 0x10019500
jmp 0x10019804
mov esi, 0x7626
jmp 0x100197a9
mov edx, dword [ebp + 0xc]
mov eax, esi
sub eax, 0x7626
je 0x100197de
sub eax, 0x63
jne 0x100197f9
xor byte ss:[ecx + 0x3a833747], dh
push dword [ebp + 4]
mov dword [edx], eax
jmp 0x100197cc
lea ecx, [ebp - 0x68]
push ecx
push 0x6e0f
push 0
call fcn.10028f60
jmp 0x100197f6
push esi
or dl, 0x8c
xor al, 0x68
das
sub eax, 0x558d0000
cwde
push edx
push 0x10139e18
call int.1002aa80
add esp, 0xc
add esi, 0x63
cmp esi, 0x7689
jbe 0x100197a6
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10019810
mov dword [ebp - 4], ecx
jmp 0x1001981d
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x1001981a
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
add eax, 0x2e
mov dword [ebp - 0x18], eax
cmp eax, 0x4bf6
jbe 0x100194c5
invalid
xor esi, esi
or dword [edx - 0x76b0aacc], ecx
jne 0x1001982e
mov dword [ebp - 0xc], esi
cmp edx, esi
je 0x10019896
cmp dword [edx], esi
je 0x10019896
mov ecx, dword [ebp - 0x1c]
add ecx, 7
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0x20]
jbe 0x100192b0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jbe 0x10019832
cmp byte [ebx - 0x12], cl
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x28], edx
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x28]
push 0x356c
push eax
mov dword [ebp - 0x24], ecx
call fcn.10018890
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x16
pop ebx
mov esp, ebp
pop ebp
ret