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

Disassembly:
push 0x4c
push 0x1034450
call fcn.01003d09
lea eax, [ebp - 0x5c]
push eax
call sym.spoolsv.exe_PrvSplInitializeWinSpoolDrv
lea ecx, [ebp - 0x34]
call fcn.010436de
lea ecx, [ebp - 0x24]
call fcn.01033d6c
push dword [ebp + 0xc]
call dword [0x1049170]
mov esi, eax
lea ecx, [ebp - 0x24]
call fcn.01034844
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.010437f2
mov edi, eax
mov eax, dword [0x1049104]
mov ebx, 0x1049104
mov esi, 0x1022620
cmp eax, ebx
je 0x1033dfb
test byte [eax + 0x1c], 2
je 0x1033dfb
push dword [ebp + 0x1c]
push esi
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
mov eax, dword [0x1049104]
test edi, edi
je 0x1033e31
cmp eax, ebx
je 0x1033e18
test byte [eax + 0x1c], 1
je 0x1033e18
push edi
push esi
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
mov esi, edi
lea ecx, [ebp - 0x24]
call fcn.01034844
lea ecx, [ebp - 0x34]
call fcn.010436ed
mov eax, esi
jmp 0x1034443
mov edi, 0x1018a30
push edi
push dword [ebp + 0xc]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x1033e6e
mov eax, dword [0x1049104]
cmp eax, ebx
je 0x1033e69
test byte [eax + 0x1c], 1
je 0x1033e69
push 0x57
push edi
push dword [ebp + 0xc]
push esi
push 0x14
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01033527
push 0x57
pop esi
jmp 0x1033e1a
push edi
push dword [ebp + 0xc]
call fcn.01033812
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x1033eb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1033eab
test byte [eax + 0x1c], 1
je 0x1033eab
push ebx
push edi
push dword [ebp + 0xc]
push esi
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01033527
mov esi, ebx
jmp 0x1033e1a
push dword [0x1049120]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 2
jne 0x1033ee4
mov eax, dword [0x1049104]
cmp eax, ebx
je 0x1033e69
test byte [eax + 0x1c], 1
je 0x1033e69
push 0x57
push esi
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
jmp 0x1033e69
push 2
push dword [0x1049120]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1033f1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, ebx
je 0x1033e18
test byte [eax + 0x1c], 1
je 0x1033e18
push edi
push esi
push 0x17
jmp 0x1033e0d
lea ecx, [ebp - 0x19]
call fcn.01041a0a
and dword [ebp - 4], 0
mov ebx, dword [ebp + 0x18]
cmp dword [ebp + 0x20], 0
je 0x1033f9f
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.010436ff
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1033f84
cmp ecx, 0x7a
je 0x1033f84
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1034026
test byte [eax + 0x1c], 1
je 0x1034026
push ecx
push dword [ebp + 0x1c]
push esi
push 0x18
jmp 0x1034016
push dword [ebx]
call sym.spoolsv.exe_PrvDllAllocSplMem
mov dword [edi], eax
test eax, eax
jne 0x1033f9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
jmp 0x1034021
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1033faa
mov eax, dword [edi]
jmp 0x1033fac
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.010436ff
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1033fe5
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1034026
test byte [eax + 0x1c], 1
je 0x1034026
push dword [ebp - 0x20]
push dword [ebp + 0x1c]
push esi
push 0x19
jmp 0x1034016
push dword [ebx]
push dword [edi]
call fcn.01018c46
push eax
call fcn.01018e96
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1034021
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x1034026
test byte [eax + 0x1c], 1
je 0x1034026
push dword [ebp - 0x20]
push dword [ebp + 0x1c]
push esi
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034bea
mov eax, dword [0x1049104]
mov dword [ebp - 4], 0xfffffffe
jmp 0x1034082
cmp dword [ebp - 0x20], 0
je 0x10342d8
cmp dword [ebp + 0x1c], 4
jne 0x10342b2
cmp eax, 0x1049104
je 0x10340b1
test byte [eax + 0x1c], 2
je 0x10340b1
push esi
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245a6
lea ecx, [ebp + 0x1c]
call fcn.01033d6c
push 0
push 0
push dword [ebp + 0xc]
push dword [ebp - 0x24]
lea ecx, [ebp + 0x1c]
call fcn.010434df
mov edi, eax
cmp dword [ebp + 0x20], 0
je 0x10340e8
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x10340e8
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.0104347d
test edi, edi
jne 0x10341ab
cmp dword [ebp + 0x20], edi
je 0x10341ab
xor eax, eax
push eax
push eax
push eax
push eax
lea ecx, [ebp + 0x1c]
call fcn.0104347d
mov dword [ebx], eax
test eax, eax
jle 0x1034169
push eax
call sym.spoolsv.exe_PrvDllAllocSplMem
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x10341ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x103415c
test byte [eax + 0x1c], 1
je 0x103415c
push edi
push dword [ebx]
push esi
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034bea
mov eax, dword [0x1049104]
test edi, edi
jne 0x1034282
push 8
pop edi
jmp 0x10341b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x103419a
test byte [eax + 0x1c], 1
je 0x103419a
push edi
push dword [ebp + 0xc]
push esi
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103a7c4
mov eax, dword [0x1049104]
test edi, edi
jne 0x1034282
mov dword [ebp - 0x20], 8
jmp 0x10341b0
mov eax, dword [0x1049104]
test edi, edi
jne 0x1034282
mov ecx, dword [ebx]
test ecx, ecx
jle 0x10341c5
mov edx, dword [ebp + 0x14]
cmp dword [edx], edi
jne 0x10341ef
push 0x57
pop edi
cmp eax, 0x1049104
je 0x10341ef
test byte [eax + 0x1c], 1
je 0x10341ef
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.010325a5
mov eax, dword [0x1049104]
test edi, edi
jne 0x1034282
push dword [ebx]
mov eax, dword [ebp + 0x14]
push dword [eax]
push 2
push edi
lea ecx, [ebp + 0x1c]
call fcn.0104347d
test eax, eax
jge 0x1034239
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x103423e
test byte [eax + 0x1c], 1
je 0x103423e
push edi
push dword [ebp + 0xc]
push esi
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103a7c4
mov eax, dword [0x1049104]
test edi, edi
jne 0x1034282
push dword [ebx]
mov eax, dword [ebp + 0x14]
push dword [eax]
call fcn.01018c46
push eax
call fcn.01018e96
mov edi, eax
test edi, edi
je 0x103427d
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x103429e
test byte [eax + 0x1c], 1
je 0x1034282
push dword [ebp - 0x20]
push esi
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x103429e
test byte [eax + 0x1c], 2
je 0x103429e
push edi
push esi
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
test edi, edi
jne 0x10342a5
and dword [ebp - 0x20], edi
lea ecx, [ebp + 0x1c]
call fcn.010436ed
mov eax, dword [0x1049104]
cmp dword [ebp - 0x20], 0
je 0x10342d8
cmp dword [ebp + 0x20], 0
je 0x10342d0
mov edi, dword [ebp + 0x14]
mov eax, dword [edi]
test eax, eax
je 0x10342d0
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 0x103430d
cmp edi, 0x7a
je 0x1034305
cmp eax, 0x1049104
je 0x1034305
test byte [eax + 0x1c], 1
je 0x1034305
push edi
push esi
push 0x23
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
mov eax, dword [0x1049104]
test edi, edi
jne 0x1034390
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 0x1034346
cmp eax, 0x1049104
je 0x103433f
test byte [eax + 0x1c], 1
je 0x103433f
push edi
push ecx
push esi
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034bea
mov dword [ebx], edi
mov eax, dword [0x1049104]
mov ecx, dword [ebx]
cmp ecx, 0x48
jae 0x1034390
cmp eax, 0x1049104
je 0x103436b
test byte [eax + 0x1c], 1
je 0x103436b
push 0x48
push ecx
push esi
push 0x25
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01034bea
mov dword [ebp - 0x20], 0x57
cmp dword [ebp + 0x20], 0
je 0x103438d
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x103438d
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 0x10343d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x1049104]
mov edi, 0x1049104
cmp eax, edi
je 0x10343df
test byte [eax + 0x1c], 1
je 0x10343df
push ebx
push esi
push 0x27
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
jmp 0x10343df
mov ebx, dword [ebp - 0x20]
mov edi, 0x1049104
lea ecx, [ebp - 0x19]
call fcn.01041a7c
test eax, eax
je 0x103440b
mov eax, dword [0x1049104]
cmp eax, edi
je 0x1034429
test byte [eax + 0x1c], 2
je 0x1034410
push dword [ebp + 8]
push esi
push 0x28
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010332f4
mov eax, dword [0x1049104]
cmp eax, edi
je 0x1034429
test byte [eax + 0x1c], 2
je 0x1034429
push ebx
push esi
push 0x29
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010245cc
lea ecx, [ebp - 0x19]
call fcn.01041a7c
lea ecx, [ebp - 0x24]
call fcn.01034844
lea ecx, [ebp - 0x34]
call fcn.010436ed
mov eax, ebx
call fcn.01003d4e
ret 0x1c