Function at 0x41dff0
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x639cf8]
sub esp, 0x10
push esi
push edi
mov edi, ecx
test eax, eax
je 0x41e18e
cmp dword [eax - 0xc], 0
jle 0x41e18e
mov dword [edi + 0x14], 0xffffffff
mov esi, 0x5ef390
lea ecx, [ecx]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0x14]
lea eax, [edx - 1]
cmp ecx, eax
jge 0x41e15b
inc ecx
xor eax, eax
cmp ecx, edx
mov dword [edi + 0x14], ecx
setl al
test eax, eax
je 0x41e15b
test ecx, ecx
js 0x41e054
cmp ecx, edx
jge 0x41e054
mov eax, dword [edi + 4]
mov ecx, dword [eax + ecx*4]
jmp 0x41e056
xor ecx, ecx
lea eax, [ebp - 8]
push eax
call fcn.0044c360
mov ecx, dword [0x639cf8]
mov edx, esi
test ecx, ecx
mov eax, dword [eax]
cmovne edx, ecx
test eax, eax
mov ecx, esi
cmovne ecx, eax
test edx, edx
mov eax, esi
cmovne eax, edx
push eax
push ecx
call fcn.00582e5c
add esp, 8
test eax, eax
mov eax, dword [ebp - 8]
sete cl
mov byte [ebp - 1], cl
test eax, eax
je 0x41e0c3
dec dword [eax - 4]
lea edx, [eax - 0xc]
jne 0x41e0bc
mov ecx, dword [edx + 4]
mov eax, edx
add ecx, 0xd
je 0x41e0b0
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x41e0a7
push edx
call fcn.00582cf0
mov cl, byte [ebp - 1]
add esp, 4
mov dword [ebp - 8], 0
test cl, cl
je 0x41e020
mov esi, dword [edi + 0x14]
test esi, esi
js 0x41e0df
cmp esi, dword [edi + 8]
jge 0x41e0df
mov eax, dword [edi + 4]
mov ecx, dword [eax + esi*4]
jmp 0x41e0e1
xor ecx, ecx
call fcn.0044b950
test eax, eax
jne 0x41e122
mov eax, dword [0x639cf8]
mov esi, 0x5ef390
test eax, eax
mov edx, str.Error:_the_certificates_with_a_SHA1_thumbprint_of
mov ecx, 0x639708
cmovne esi, eax
call fcn.0041d210
mov edx, esi
mov ecx, eax
call fcn.0041d210
mov edx, str._is_not_a_code_signing_certificate.
mov ecx, eax
call fcn.0041d210
jmp 0x41e221
test esi, esi
js 0x41e145
cmp esi, dword [edi + 8]
jge 0x41e145
mov eax, dword [edi + 4]
lea ecx, [edi + 0x18]
mov eax, dword [eax + esi*4]
push eax
call fcn.0044d6b0
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
lea ecx, [edi + 0x18]
push eax
call fcn.0044d6b0
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x639cf8]
mov edx, str.Error:_no_code_signing_certificates_with_a_SHA1_thumbprint_of
test eax, eax
mov ecx, 0x639708
cmovne esi, eax
call fcn.0041d210
mov edx, esi
mov ecx, eax
call fcn.0041d210
mov edx, str._could_be_found.
mov ecx, eax
call fcn.0041d210
jmp 0x41e221
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
lea eax, [ebp - 0x10]
push eax
push dword [0x639ebc]
mov dword [ebp - 0x10], 0x41df60
mov dword [ebp - 0xc], 0
call esi
push 0x44e250
push 4
push dword [edi + 8]
push dword [edi + 4]
call fcn.00585990
add esp, 0x10
push 0
push dword [0x639ebc]
call esi
mov esi, dword [edi + 8]
test esi, esi
je 0x41e209
jle 0x41e1dd
mov eax, dword [edi + 4]
mov ecx, dword [eax]
jmp 0x41e1df
xor ecx, ecx
call fcn.0044b950
test eax, eax
je 0x41e209
test esi, esi
jle 0x41e145
mov eax, dword [edi + 4]
lea ecx, [edi + 0x18]
mov eax, dword [eax]
push eax
call fcn.0044d6b0
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, str.Error:_no_code_signing_certificates_found.
mov ecx, 0x639708
call fcn.0041d210
push eax
call fcn.0041e8e0
add esp, 4
cmp dword [0x639d10], 0
jne 0x41e23e
mov edx, str._n_nPress_ENTER_to_exit...
mov ecx, 0x639708
call fcn.0041d210
call fcn.00584056
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret