Function at 0x1033931
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push 0x4c
push 0x1034008
call fcn.01005e74
lea eax, [ebp - 0x5c]
push eax
call sym.spoolsv.exe_PrvSplInitializeWinSpoolDrv
lea ecx, [ebp - 0x34]
call fcn.0104350e
lea ecx, [ebp - 0x24]
call fcn.01033926
push dword [ebp + 0xc]
call dword [0x1049170]
mov esi, eax
lea ecx, [ebp - 0x24]
call fcn.0103390b
mov dword [ebp - 0x24], esi
xor eax, eax
push eax
push eax
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push esi
lea ecx, [ebp - 0x34]
call fcn.01043449
mov edi, eax
mov eax, dword [0x1049104]
mov ebx, 0x1049104
mov esi, 0x1021f90
cmp eax, ebx
je 0x10339b1
test byte [eax + 0x1c], 2
je 0x10339b1
push dword [ebp + 0x1c]
push esi
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
mov eax, dword [0x1049104]
test edi, edi
je 0x10339e7
cmp eax, ebx
je 0x10339ce
test byte [eax + 0x1c], 1
je 0x10339ce
push edi
push esi
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
mov esi, edi
lea ecx, [ebp - 0x24]
call fcn.0103390b
lea ecx, [ebp - 0x34]
call fcn.0104351d
mov eax, esi
jmp 0x1033ff9
mov edi, 0x1018acc
push edi
push dword [ebp + 0xc]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x1033a24
mov eax, dword [0x1049104]
cmp eax, ebx
je 0x1033a1f
test byte [eax + 0x1c], 1
je 0x1033a1f
push 0x57
push edi
push dword [ebp + 0xc]
push esi
push 0x14
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010330c6
push 0x57
pop esi
jmp 0x10339d0
push edi
push dword [ebp + 0xc]
call fcn.010333b1
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x1033a68
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033a61
test byte [eax + 0x1c], 1
je 0x1033a61
push ebx
push edi
push dword [ebp + 0xc]
push esi
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010330c6
mov esi, ebx
jmp 0x10339d0
push dword [0x1049120]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 2
jne 0x1033a9a
mov eax, dword [0x1049104]
cmp eax, ebx
je 0x1033a1f
test byte [eax + 0x1c], 1
je 0x1033a1f
push 0x57
push esi
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
jmp 0x1033a1f
push 2
push dword [0x1049120]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1033ad4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, ebx
je 0x10339ce
test byte [eax + 0x1c], 1
je 0x10339ce
push edi
push esi
push 0x17
jmp 0x10339c3
lea ecx, [ebp - 0x19]
call fcn.01041675
and dword [ebp - 4], 0
mov ebx, dword [ebp + 0x18]
cmp dword [ebp + 0x20], 0
je 0x1033b55
xor eax, eax
mov dword [ebx], eax
mov edi, dword [ebp + 0x14]
mov dword [edi], eax
push dword [ebp + 0x1c]
push ebx
push eax
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x34]
call fcn.01043356
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1033b3a
cmp ecx, 0x7a
je 0x1033b3a
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033bdc
test byte [eax + 0x1c], 1
je 0x1033bdc
push ecx
push dword [ebp + 0x1c]
push esi
push 0x18
jmp 0x1033bcc
push dword [ebx]
call sym.spoolsv.exe_PrvDllAllocSplMem
mov dword [edi], eax
test eax, eax
jne 0x1033b55
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
jmp 0x1033bd7
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1033b60
mov eax, dword [edi]
jmp 0x1033b62
xor eax, eax
push dword [ebp + 0x1c]
push ebx
push dword [ebx]
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x34]
call fcn.01043356
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1033b9b
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033bdc
test byte [eax + 0x1c], 1
je 0x1033bdc
push dword [ebp - 0x20]
push dword [ebp + 0x1c]
push esi
push 0x19
jmp 0x1033bcc
push dword [ebx]
push dword [edi]
call fcn.01018b66
push eax
call fcn.01018db6
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1033bd7
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033bdc
test byte [eax + 0x1c], 1
je 0x1033bdc
push dword [ebp - 0x20]
push dword [ebp + 0x1c]
push esi
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034df7
mov eax, dword [0x1049104]
mov dword [ebp - 4], 0xfffffffe
jmp 0x1033c38
cmp dword [ebp - 0x20], 0
je 0x1033e8e
cmp dword [ebp + 0x1c], 4
jne 0x1033e68
cmp eax, 0x1049104
je 0x1033c67
test byte [eax + 0x1c], 2
je 0x1033c67
push esi
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01023f56
lea ecx, [ebp + 0x1c]
call fcn.01033926
push 0
push 0
push dword [ebp + 0xc]
push dword [ebp - 0x24]
lea ecx, [ebp + 0x1c]
call fcn.01043157
mov edi, eax
cmp dword [ebp + 0x20], 0
je 0x1033c9e
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x1033c9e
push eax
call sym.spoolsv.exe_PrvDllFreeSplMem
mov eax, dword [ebp + 0x14]
and dword [eax], 0
xor eax, eax
mov dword [ebx], eax
push eax
push eax
push eax
push eax
lea ecx, [ebp + 0x1c]
call fcn.010430f5
test edi, edi
jne 0x1033d61
cmp dword [ebp + 0x20], edi
je 0x1033d61
xor eax, eax
push eax
push eax
push eax
push eax
lea ecx, [ebp + 0x1c]
call fcn.010430f5
mov dword [ebx], eax
test eax, eax
jle 0x1033d1f
push eax
call sym.spoolsv.exe_PrvDllAllocSplMem
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x1033d61
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033d12
test byte [eax + 0x1c], 1
je 0x1033d12
push edi
push dword [ebx]
push esi
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034df7
mov eax, dword [0x1049104]
test edi, edi
jne 0x1033e38
push 8
pop edi
jmp 0x1033d66
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033d50
test byte [eax + 0x1c], 1
je 0x1033d50
push edi
push dword [ebp + 0xc]
push esi
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103a009
mov eax, dword [0x1049104]
test edi, edi
jne 0x1033e38
mov dword [ebp - 0x20], 8
jmp 0x1033d66
mov eax, dword [0x1049104]
test edi, edi
jne 0x1033e38
mov ecx, dword [ebx]
test ecx, ecx
jle 0x1033d7b
mov edx, dword [ebp + 0x14]
cmp dword [edx], edi
jne 0x1033da5
push 0x57
pop edi
cmp eax, 0x1049104
je 0x1033da5
test byte [eax + 0x1c], 1
je 0x1033da5
push edi
push ecx
mov ecx, dword [ebp + 0x14]
push dword [ecx]
push esi
push 0x1f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034780
mov eax, dword [0x1049104]
test edi, edi
jne 0x1033e38
push dword [ebx]
mov eax, dword [ebp + 0x14]
push dword [eax]
push 2
push edi
lea ecx, [ebp + 0x1c]
call fcn.010430f5
test eax, eax
jge 0x1033def
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033df4
test byte [eax + 0x1c], 1
je 0x1033df4
push edi
push dword [ebp + 0xc]
push esi
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103a009
mov eax, dword [0x1049104]
test edi, edi
jne 0x1033e38
push dword [ebx]
mov eax, dword [ebp + 0x14]
push dword [eax]
call fcn.01018b66
push eax
call fcn.01018db6
mov edi, eax
test edi, edi
je 0x1033e33
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033e54
test byte [eax + 0x1c], 1
je 0x1033e38
push dword [ebp - 0x20]
push esi
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033e54
test byte [eax + 0x1c], 2
je 0x1033e54
push edi
push esi
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
test edi, edi
jne 0x1033e5b
and dword [ebp - 0x20], edi
lea ecx, [ebp + 0x1c]
call fcn.0104351d
mov eax, dword [0x1049104]
cmp dword [ebp - 0x20], 0
je 0x1033e8e
cmp dword [ebp + 0x20], 0
je 0x1033e86
mov edi, dword [ebp + 0x14]
mov eax, dword [edi]
test eax, eax
je 0x1033e86
push eax
call sym.spoolsv.exe_PrvDllFreeSplMem
and dword [edi], 0
and dword [ebx], 0
mov eax, dword [0x1049104]
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x1033ec3
cmp edi, 0x7a
je 0x1033ebb
cmp eax, 0x1049104
je 0x1033ebb
test byte [eax + 0x1c], 1
je 0x1033ebb
push edi
push esi
push 0x23
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
mov eax, dword [0x1049104]
test edi, edi
jne 0x1033f46
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
movzx edi, word [ecx + 0x46]
movzx ecx, word [ecx + 0x44]
add edi, ecx
mov ecx, dword [ebx]
cmp ecx, edi
je 0x1033efc
cmp eax, 0x1049104
je 0x1033ef5
test byte [eax + 0x1c], 1
je 0x1033ef5
push edi
push ecx
push esi
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034df7
mov dword [ebx], edi
mov eax, dword [0x1049104]
mov ecx, dword [ebx]
cmp ecx, 0x48
jae 0x1033f46
cmp eax, 0x1049104
je 0x1033f21
test byte [eax + 0x1c], 1
je 0x1033f21
push 0x48
push ecx
push esi
push 0x25
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034df7
mov dword [ebp - 0x20], 0x57
cmp dword [ebp + 0x20], 0
je 0x1033f43
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x1033f43
push eax
call sym.spoolsv.exe_PrvDllFreeSplMem
mov eax, dword [ebp + 0x14]
and dword [eax], 0
and dword [ebx], 0
push dword [ebp - 0x28]
call sym.spoolsv.exe_PrvDllFreeSplMem
push 1
push dword [0x1049120]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1033f8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x1049104]
mov edi, 0x1049104
cmp eax, edi
je 0x1033f95
test byte [eax + 0x1c], 1
je 0x1033f95
push ebx
push esi
push 0x27
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
jmp 0x1033f95
mov ebx, dword [ebp - 0x20]
mov edi, 0x1049104
lea ecx, [ebp - 0x19]
call fcn.010416e7
test eax, eax
je 0x1033fc1
mov eax, dword [0x1049104]
cmp eax, edi
je 0x1033fdf
test byte [eax + 0x1c], 2
je 0x1033fc6
push dword [ebp + 8]
push esi
push 0x28
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01032e56
mov eax, dword [0x1049104]
cmp eax, edi
je 0x1033fdf
test byte [eax + 0x1c], 2
je 0x1033fdf
push ebx
push esi
push 0x29
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034754
lea ecx, [ebp - 0x19]
call fcn.010416e7
lea ecx, [ebp - 0x24]
call fcn.0103390b
lea ecx, [ebp - 0x34]
call fcn.0104351d
mov eax, ebx
call fcn.01005eb9
ret 0x1c