Function at 0x43c2d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
mov esi, edx
push ebx
mov ebx, ecx
sub esp, 0x4c
test ecx, ecx
je 0x43c318
mov edx, dword [ecx]
test edx, edx
je 0x43c318
movzx eax, byte [ecx + 8]
cmp al, 0x2f
je 0x43c306
cmp al, 0x5c
je 0x43c306
cmp edx, 1
jle 0x43c318
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
ja 0x43c318
cmp byte [ecx + 9], 0x3a
jne 0x43c318
add esp, 0x4c
mov ecx, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040a4d0
test esi, esi
je 0x43c588
mov edi, dword [esi]
test edi, edi
jne 0x43c4a8
mov dword [esp + 4], 0x18
mov dword [esp], 0x49c4a0
call fcn.00408420
mov dword [eax], 0x49c4c0
mov ebp, eax
mov dword [eax + 8], str.ValueError
mov eax, dword [esi]
lea ecx, [eax + 0x24]
call fcn.00408490
lea ecx, [esi + 8]
mov edi, eax
mov eax, dword [eax]
lea eax, [edi + eax + 8]
mov dword [eax], 0x20656854
mov dword [eax + 4], 0x63657073
mov dword [eax + 8], 0x65696669
mov dword [eax + 0xc], 0x6f722064
mov dword [eax + 0x10], 0x6920746f
mov dword [eax + 0x14], 0x6f6e2073
mov dword [eax + 0x18], 0x62612074
mov dword [eax + 0x1c], 0x756c6f73
mov dword [eax + 0x20], 0x203a6574
mov byte [eax + 0x24], 0
mov eax, dword [edi]
lea edx, [eax + 0x24]
mov dword [edi], edx
lea edx, [edi + eax + 0x2c]
mov eax, dword [esi]
mov dword [esp + 4], ecx
add eax, 1
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esi]
add dword [edi], eax
add dword [edi - 8], 8
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x43c3ec
mov ecx, dword [eax - 8]
lea edx, [eax - 8]
mov dword [esp + 0x2c], edx
sub ecx, 8
mov dword [eax - 8], ecx
cmp ecx, 7
jbe 0x43c510
mov eax, dword [ebp + 4]
mov dword [ebp + 0xc], edi
test eax, eax
je 0x43c40b
mov ecx, dword [eax - 8]
lea edi, [eax - 8]
lea edx, [ecx - 8]
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x43c4e8
mov dword [ebp + 4], 0
mov edx, str.ValueError
mov ecx, ebp
mov dword [esp + 8], 0x582
mov dword [esp + 4], str.os.nim
mov dword [esp], str.absolutePath
call fcn.004099c0
sub esp, 0xc
mov dword [esp + 0x38], 0
test esi, esi
je 0x43c538
mov edi, dword [esi]
test ebx, ebx
je 0x43c457
add edi, dword [ebx]
jno 0x43c457
call fcn.00409ba0
test edi, edi
js 0x43c54c
mov ecx, edi
call fcn.00408490
mov dword [esp], esi
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
call fcn.0043c180
sub esp, 4
mov dword [esp], ebx
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x38]
call fcn.0043c180
sub esp, 4
mov eax, dword [esp + 0x38]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [esi + 8]
cmp al, 0x2f
je 0x43c4d5
cmp al, 0x5c
je 0x43c4d5
cmp edi, 1
jle 0x43c32a
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
ja 0x43c32a
cmp byte [esi + 9], 0x3a
jne 0x43c32a
mov dword [esp + 0x38], 0
jmp 0x43c44a
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], edi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x43c40b
mov ecx, dword [0x49c308]
call fcn.004031f0
mov edx, dword [esp + 0x2c]
add eax, 0x2c
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00405190
jmp 0x43c3ec
xor edi, edi
test ebx, ebx
je 0x43c45f
mov edi, dword [ebx]
test edi, edi
jns 0x43c45f
mov eax, edi
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x43c45f
mov dword [esp + 4], 0x18
mov dword [esp], 0x49c4a0
call fcn.00408420
mov ecx, 0x24
mov dword [eax], 0x49c4c0
mov ebp, eax
mov dword [eax + 8], str.ValueError
call fcn.00408490
mov edi, eax
mov eax, dword [eax]
lea eax, [edi + eax + 8]
mov dword [eax], 0x20656854
mov dword [eax + 4], 0x63657073
mov dword [eax + 8], 0x65696669
mov dword [eax + 0xc], 0x6f722064
mov dword [eax + 0x10], 0x6920746f
mov dword [eax + 0x14], 0x6f6e2073
mov dword [eax + 0x18], 0x62612074
mov dword [eax + 0x1c], 0x756c6f73
mov dword [eax + 0x20], 0x203a6574
mov byte [eax + 0x24], 0
add dword [edi], 0x24
jmp 0x43c3c8