Function at 0x410660
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x84
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [eax]
test dl, 0x10
jne 0x410750
test dl, 0x20
jne 0x4107b9
mov eax, dword [eax]
mov edi, eax
mov dword [ebp - 0x10], eax
neg edi
cmovs edi, eax
mov eax, 0x27
cmp edi, 0x2710
jb 0x41082c
mov esi, 0x27
nop dword [eax + eax]
mov eax, edi
mov ecx, 0xd1b71759
mul ecx
mov eax, edi
shr edx, 0xd
imul ecx, edx, 0x2710
sub eax, ecx
imul ecx, eax, 0x147b
shr ecx, 0x13
imul ebx, ecx, 0x64
movzx ecx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899librarycore_src_fmtmod.rs]
sub eax, ebx
cmp edi, 0x5f5e0ff
mov edi, edx
movzx eax, ax
movzx eax, word [eax + eax + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899librarycore_src_fmtmod.rs]
mov word [ebp + esi - 0x94], cx
mov word [ebp + esi - 0x92], ax
lea eax, [esi - 4]
mov esi, eax
ja 0x4106b0
cmp edx, 0x63
jbe 0x410737
movzx ecx, dx
shr ecx, 2
imul esi, ecx, 0x147b
shr esi, 0x11
imul ecx, esi, 0x64
sub edx, ecx
movzx ecx, dx
mov edx, esi
movzx ecx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899librarycore_src_fmtmod.rs]
mov word [ebp + eax - 0x92], cx
add eax, 0xfffffffe
cmp edx, 0xa
jae 0x41083c
or dl, 0x30
mov byte [ebp + eax - 0x91], dl
dec eax
jmp 0x41084f
mov edx, dword [eax]
mov edi, 0x81
mov esi, edx
nop dword [eax]
mov ebx, edx
mov ecx, edi
shr esi, 4
and bl, 0xf
mov bh, bl
mov eax, ebx
add al, 0x57
or bh, 0x30
cmp bl, 0xa
movzx edi, bh
movzx eax, al
cmovb eax, edi
cmp edx, 0x10
lea edi, [ecx - 1]
mov edx, esi
mov byte [ebp + ecx - 0x92], al
jae 0x410760
add ecx, 0xfffffffe
cmp ecx, 0x81
jae 0x410883
lea esi, [ebp + ecx - 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, 0x81
mov edx, 1
sub eax, edi
push eax
push esi
jmp 0x410823
mov edx, dword [eax]
mov edi, 0x81
mov esi, edx
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, edx
shr esi, 4
mov eax, edi
and cl, 0xf
mov ch, cl
mov ebx, ecx
add bl, 0x37
or ch, 0x30
cmp cl, 0xa
movzx ecx, ch
movzx ebx, bl
cmovb ebx, ecx
cmp edx, 0x10
mov edx, esi
mov byte [ebp + edi - 0x92], bl
lea edi, [edi - 1]
jae 0x4107d0
add eax, 0xfffffffe
cmp eax, 0x81
jae 0x410881
mov ecx, dword [ebp + 0xc]
mov esi, 0x81
mov edx, 1
lea eax, [ebp + eax - 0x90]
sub esi, edi
push esi
push eax
push 2
push 0x4a1583
jmp 0x41086e
mov edx, edi
cmp edx, 0x63
ja 0x41070b
jmp 0x410737
movzx ecx, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899librarycore_src_fmtmod.rs]
mov word [ebp + eax - 0x92], cx
add eax, 0xfffffffe
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
mov edi, 0x27
lea esi, [ebp + eax - 0x90]
sub edi, eax
not edx
shr edx, 0x1f
push edi
push esi
push 0
push 1
call sym.core::fmt::Formatter::pad_integral::hbe631f7bb92d6830
add esp, 0x10
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
mov edx, pe_nt_image_headers32
push 0x49ff64
call sym.core::slice::index::slice_start_index_len_fail::h7e8587be95abf61b
nop word cs:[eax + eax]
nop dword [eax]