Function at 0x1008b830
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
mov esi, dword [ebp + 0x34]
mov eax, dword [0x101b9014]
xor eax, ebp
mov dword [esp + 0x118], eax
mov eax, dword [0x101bfe60]
mov ecx, dword [0x101bd164]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1008c4cc
mov eax, dword [ebp + 0x28]
movzx ebx, byte [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x14], 0
test esi, 0x410
jne 0x1008b955
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
mov dword [esp + 0x14], 0
cmp eax, dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
jne 0x1008b955
call fcn.10086a60
xor ecx, ecx
mov dword [esp + 0x14], 0
test al, al
mov eax, dword [ebp + 0x28]
je 0x1008b955
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x70]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
call fcn.10086820
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
xor ecx, ecx
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
mov dword [esp + 0x14], 0
jne 0x1008b90b
jnp 0x1008b952
movsd xmm1, qword [esp + 0x70]
unpcklps xmm1, xmmword [0x101a1b20]
subpd xmm1, xmmword [0x101a1b30]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x101a1b40]
movsd qword [esp + 0x38], xmm2
fld qword [esp + 0x38]
fisttp qword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
movsx edx, bl
mov ecx, 0x101bfc60
push dword [ebp + 0x30]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov dword [esp + 0x48], edx
push edx
call fcn.1008a490
test al, al
je 0x1008c477
mov eax, 0x101bfe0c
mov ecx, 0x101bfe0c
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x101c1e84]
mov edx, 0x101bfe0c
shr edx, 0xe
bt ecx, edx
jae 0x1008b9c3
push 0x101bfe0c
call fcn.10069180
add esp, 4
jmp 0x1008b9cd
shr eax, 0x15
mov byte [eax + 0x101c9e84], 1
push dword [0x101bac5c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 0xfffffffc
je 0x1008c499
mov ecx, dword [0x101bfe0c]
mov dword [eax + ecx*8], 0x101bfe0c
mov ecx, dword [0x101bfe10]
mov edx, dword [0x101bfe0c]
mov dword [eax + edx*8 + 4], ecx
test esi, 0x180
sete al
test esi, 0x800
sete cl
xor edx, edx
or cl, al
mov edi, 0
jne 0x1008ba28
mov edx, dword [0x101bfd38]
mov edi, dword [0x101bfd3c]
mov dword [esp + 0x20], edx
mov eax, dword [0x101bfd4c]
mov edx, dword [0x101bfd48]
mov ecx, edx
add ecx, 0xffffffff
mov esi, eax
adc esi, 0x7fffffff
add ecx, 2
adc esi, 0
cmp ecx, 2
sbb esi, 0
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
jae 0x1008ba92
xor esi, edx
xor ecx, eax
or ecx, esi
je 0x1008c50a
mov ecx, 0xffffffff
add ecx, 1
mov edx, 0x7fffffff
adc edx, 0
test eax, eax
mov eax, 0xffffffff
cmovs ecx, eax
mov dword [esp + 0x28], ecx
mov eax, 0x7fffffff
cmovs edx, eax
mov dword [esp + 0x24], edx
jmp 0x1008baba
sub esi, edx
sbb ecx, eax
seto al
mov edx, ecx
sar edx, 0x1f
mov ah, bl
lea ebx, [edx - 0x80000000]
test al, al
cmove edx, esi
mov dword [esp + 0x28], edx
test al, al
cmove ebx, ecx
mov dword [esp + 0x24], ebx
mov bl, ah
xor edi, dword [ebp + 0x24]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x20]
xor eax, dword [ebp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
mov dword [esp + 0xc], 0
mov esi, 0
mov ecx, 0
test al, 1
je 0x1008bc80
mov ecx, 0x101bfc60
call fcn.10088570
push dword [0x101bac5c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
xor esi, esi
and eax, 0xfffffffc
je 0x1008bb1e
mov ecx, dword [0x101bfdfc]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x101bfe00]
jne 0x1008bb1e
mov esi, dword [eax + ecx*8]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
test al, 1
jne 0x1008bb2f
xor ecx, ecx
jmp 0x1008bc80
mov edi, dword [0x101bfe4c]
test edi, edi
je 0x1008bc7e
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0xe4], 0xffffffff
mov dword [esp + 0xe0], 0xffffffff
mov eax, dword [esp + 0x34]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
sub esp, 0x3c
movsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 4], xmm0
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
lea ecx, [esp + 0xac]
call fcn.100cbae0
xor ebx, ebx
test esi, esi
setne bl
mov ecx, edi
call dword [section..00cfg]
lea eax, [esp + 0x48]
push eax
push ebx
lea eax, [esp + 0x78]
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0xb0]
call fcn.1003c610
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x1008c420
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
jmp 0x1008c420
mov cl, 1
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
test al, 0x10
mov dword [esp + 0x10], esi
jne 0x1008bd4a
test cl, cl
je 0x1008c003
test esi, esi
je 0x1008bfb5
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1008c042
cmp dword [eax], 0x40
jne 0x1008c1c4
mov edi, dword [esi + 8]
add edi, 4
push edi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1008c4c0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x1008c00c
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1e4]
cmp ecx, dword [esi + 0x14]
jne 0x1008c015
mov ecx, dword [eax + 0x14]
mov dword [esi + 0xc], 0
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov esi, ecx
mov ebx, dword [eax + 8]
mov ecx, ebx
call dword [section..00cfg]
mov eax, dword [esp + 0x70]
mov ecx, esi
push eax
push dword [esp + 0x20]
mov esi, dword [esp + 0x18]
call ebx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0xc], 0
test ebx, ebx
jne 0x1008c01c
jmp 0x1008c02c
push pe_nt_image_headers32
call fcn.10145ba4
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
sub esp, 0x3c
movsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 4], xmm0
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
mov dword [esp + 0x48], ecx
call fcn.100cbae0
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x1008bf78
xor esi, esi
mov byte [esp + 0x18], 1
jmp 0x1008be26
mov eax, ecx
mov byte [esp + 0x18], cl
mov eax, ebx
shr eax, 1
inc esi
cmp ebx, 1
mov ebx, eax
jbe 0x1008bf71
test bl, 1
je 0x1008be16
mov eax, dword [0x101bfe74]
mov ecx, dword [0x101bd164]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1008bed3
mov ecx, dword [0x101bfe70]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 2
cmp ecx, esi
jbe 0x1008c504
cmp dword [eax + esi*4], 0
je 0x1008be16
mov eax, dword [0x101bfe74]
mov ecx, dword [0x101bd164]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1008bf22
mov ecx, dword [0x101bfe70]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 2
cmp ecx, esi
jbe 0x1008c507
mov edi, dword [eax + esi*4]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
call dword [section..00cfg]
mov ecx, edi
push dword [esp + 0xc]
call dword [esp + 0x20]
xor ecx, ecx
test al, al
jne 0x1008be10
movzx ecx, byte [esp + 0x18]
jmp 0x1008be10
push 0x101bfe74
call fcn.10145c47
add esp, 4
cmp dword [0x101bfe74], 0xffffffff
jne 0x1008be4c
push 0xc
call fcn.10145ba4
add esp, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [0x101bfe70], eax
push 0x101bfe74
call fcn.10145cbd
add esp, 4
jmp 0x1008be4c
push 0x101bfe74
call fcn.10145c47
add esp, 4
cmp dword [0x101bfe74], 0xffffffff
jne 0x1008be8b
push 0xc
call fcn.10145ba4
add esp, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [0x101bfe70], eax
push 0x101bfe74
call fcn.10145cbd
add esp, 4
jmp 0x1008be8b
cmp byte [esp + 0x18], 0
je 0x1008bfea
xor edi, edi
mov esi, dword [esp + 0xc]
test esi, esi
je 0x1008c38a
mov ecx, esi
add ecx, 0x40
call fcn.1003c610
mov eax, dword [esi + 0x38]
test eax, eax
je 0x1008bfa7
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
push esi
call fcn.10145bd4
add esp, 4
jmp 0x1008c38a
push 0x101bfc64
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1008c4a3
lea edx, [esp + 0x48]
mov ecx, 0x101bfc60
push 1
call fcn.1008a250
add esp, 4
mov edi, eax
test eax, eax
jne 0x1008c1f3
jmp 0x1008c27d
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
and cl, 1
movzx ebx, byte [ebp + 8]
mov esi, dword [esp + 0x10]
test cl, cl
jne 0x1008bcac
mov edi, dword [esp + 0xc]
jmp 0x1008c38a
mov dword [esi + 0xc], 0
jmp 0x1008c02c
mov dword [esi + 0xc], 0
mov ecx, ebx
call fcn.100ca250
push ebx
call fcn.10145bd4
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0xc]
test eax, eax
movzx ebx, byte [ebp + 8]
jne 0x1008c1c4
mov eax, dword [esi + 8]
add eax, 4
mov dword [esp + 0x1c], eax
push eax
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1008c4b2
mov eax, dword [esi + 8]
mov ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x10]
lea esi, [eax + 0x10]
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
lea eax, [esp + 0x70]
mov ecx, ebx
push esi
mov esi, dword [esp + 0x14]
push eax
call edi
mov eax, dword [esp + 0x70]
mov dword [esp + 0x70], 0
mov ebx, dword [esi + 0xc]
mov dword [esi + 0xc], eax
test ebx, ebx
je 0x1008c0c9
mov ecx, ebx
call fcn.100ca250
push ebx
call fcn.10145bd4
add esp, 4
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x70], 0
test ebx, ebx
je 0x1008c0c9
mov ecx, ebx
call fcn.100ca250
push ebx
call fcn.10145bd4
add esp, 4
mov esi, dword [esi + 8]
mov edi, dword [esi + 0x14]
mov eax, dword [edi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
test al, al
movzx ebx, byte [ebp + 8]
je 0x1008c1ab
mov eax, dword [esi + 0xd0]
or eax, dword [esi + 0xd4]
jne 0x1008c1a4
mov ecx, dword [0x101bac6c]
call dword [section..00cfg]
lea eax, [esp + 0x70]
push eax
call ecx
add esp, 4
mov ecx, dword [esi + 0xe8]
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0xec]
mov edx, 0xffffffff
add edx, ecx
mov esi, 0x7fffffff
adc esi, eax
add edx, 2
adc esi, 0
cmp edx, 2
mov edi, dword [esp + 0x70]
sbb esi, 0
mov esi, dword [esp + 0x74]
jae 0x1008c178
xor edi, ecx
xor esi, eax
or esi, edi
je 0x1008c50d
mov ecx, 0xffffffff
add ecx, 1
mov edx, 0x7fffffff
adc edx, 0
test eax, eax
mov eax, 0xffffffff
cmovs ecx, eax
mov eax, 0x7fffffff
cmovs edx, eax
jmp 0x1008c194
sub edi, ecx
sbb esi, eax
seto al
mov ecx, esi
sar ecx, 0x1f
lea edx, [ecx - 0x80000000]
test al, al
cmove ecx, edi
test al, al
cmove edx, esi
mov esi, dword [esp + 0x18]
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], edx
mov ecx, esi
call fcn.10089190
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1008c27d
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
imul edi, ecx, 0x78
add edi, eax
add edi, 8
je 0x1008c27d
movzx eax, word [esi + 0x10]
mov edx, dword [esi + 0xc]
mov edx, dword [edx + 0x1e08]
mov dword [esp + 0x48], edx
shl ecx, 0x1a
or ecx, eax
mov dword [esp + 0x4c], ecx
mov esi, dword [esp + 0xc]
test esi, esi
je 0x1008c288
movsd xmm0, qword [esi + 0x30]
movsd qword [edi + 0x30], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [esi]
movupd xmm1, xmmword [esi + 0x10]
movupd xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
cmp edi, esi
je 0x1008c267
mov eax, dword [edi + 0x38]
test eax, eax
je 0x1008c23c
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
mov eax, dword [esi + 0x38]
mov dword [edi + 0x38], eax
mov dword [esi + 0x38], 0
lea ecx, [edi + 0x40]
call fcn.1003c610
movups xmm0, xmmword [esi + 0x40]
movupd xmm1, xmmword [esi + 0x50]
movupd xmmword [edi + 0x50], xmm1
movups xmmword [edi + 0x40], xmm0
mov byte [esi + 0x40], 0
movzx eax, byte [esi + 0x70]
mov byte [edi + 0x70], al
movupd xmm0, xmmword [esi + 0x60]
movupd xmmword [edi + 0x60], xmm0
jmp 0x1008c31f
xor edi, edi
mov esi, dword [esp + 0xc]
jmp 0x1008c31f
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
sub esp, 0x3c
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp + 4], xmm0
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
mov ecx, edi
call fcn.100cbbb0
mov eax, dword [0x101bfd50]
test al, 8
je 0x1008c376
cmp bl, 0x58
movzx eax, bl
mov ecx, 0x42
cmovne ecx, eax
movsx eax, cl
lea edx, [esp + 0x70]
mov ecx, 0x101bfc60
push edi
push dword [ebp + 0x2c]
push eax
call fcn.1008a8e0
add esp, 0xc
cmp byte [esp + 0x63], 0
jns 0x1008c362
push dword [esp + 0x58]
call fcn.10145bd4
add esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0x60], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x58], xmm0
cmp dword [esp + 0x10], 0
jne 0x1008c388
push 0x101bfc64
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, esi
movzx ebx, byte [esp + 0x63]
mov esi, ebx
test bl, bl
jns 0x1008c399
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x1008c3e1
cmp dword [0x101bee4c], 2
jg 0x1008c3e1
lea ecx, [esp + 0x70]
push 2
push 0x774
push str....._base_trace_event_trace_log.cc
call fcn.100661d0
lea eax, [esp + 0x78]
test bl, bl
jns 0x1008c3c9
mov ecx, dword [esp + 0x58]
jmp 0x1008c3cd
lea ecx, [esp + 0x58]
push esi
push ecx
push eax
call fcn.10034b83
add esp, 0xc
lea ecx, [esp + 0x70]
call fcn.10066600
test edi, edi
je 0x1008c40d
lea ecx, [edi + 0x40]
call fcn.1003c610
mov eax, dword [edi + 0x38]
test eax, eax
je 0x1008c404
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
push edi
call fcn.10145bd4
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x1008c420
push dword [esp + 0x58]
call fcn.10145bd4
add esp, 4
push dword [0x101bac5c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 0xfffffffc
je 0x1008c44e
mov ecx, dword [0x101bfe0c]
mov dword [eax + ecx*8], 0
mov ecx, dword [0x101bfe10]
mov edx, dword [0x101bfe0c]
mov dword [eax + edx*8 + 4], ecx
mov eax, 0x101bfe0c
mov ecx, 0x101bfe0c
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x101c1e84]
shr eax, 0xe
bt ecx, eax
jae 0x1008c477
push 0x101bfe0c
call fcn.10069280
add esp, 4
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x118]
xor ecx, ebp
call fcn.101465a3
mov eax, esi
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1007a6e0
jmp 0x1008b9e2
mov ecx, 0x101bfc64
call fcn.10083990
jmp 0x1008bfc8
mov ecx, dword [esp + 0x1c]
call fcn.10083990
jmp 0x1008c05b
mov ecx, edi
call fcn.10083990
jmp 0x1008bcdd
push 0x101bfe60
call fcn.10145c47
add esp, 4
cmp dword [0x101bfe60], 0xffffffff
jne 0x1008b871
mov ecx, 0x101bfc60
push 0
call fcn.100882a0
push 0x101bfe60
call fcn.10145cbd
add esp, 4
jmp 0x1008b871
int3
int3
int3
int3