Function at 0x68784920
Capabilities:
Get thread local storage value

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x88
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x34], eax
mov eax, dword [0x68788058]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x68784b58
mov edx, dword [eax]
test edx, edx
je 0x68784b40
mov edx, dword [edx + 4]
cmp edx, 1
mov dword [ebp - 0x44], edx
sete dl
mov eax, dword [eax + 8]
mov dword [ebp - 0x48], eax
test byte [0x68788064], 8
jne 0x68784ac0
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x68784b2c
cmp dword [ebp - 0x30], 1
je 0x687849f0
test dl, dl
je 0x687849f0
mov eax, dword [ebp - 0x38]
mov dword [eax], 1
mov eax, dword [ebp - 0x2c]
mov dword [eax], edi
mov eax, dword [ebp - 0x3c]
mov dword [eax], ebx
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
mov eax, dword [ebp - 0x34]
mov dword [eax], edi
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
cmp edi, ebx
je 0x68784b98
test esi, esi
jle 0x68784b80
cmp edi, ebx
jl 0x68784b68
mov eax, edi
sub eax, ebx
cdq
idiv esi
neg esi
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x30]
mov edx, 1
test eax, eax
cmovg edx, eax
mov ebx, edx
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x30], edx
sar ebx, 0x1f
add eax, 0xffffffff
mov dword [esp + 8], ecx
mov edx, ebx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
adc edx, 0xffffffff
mov dword [esp + 0xc], ebx
mov dword [ebp - 0x54], edx
xor edx, edx
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.___udivdi3
xor edx, edx
mov ebx, dword [ebp - 0x48]
mov ecx, eax
div dword [ebp - 0x44]
cmp ebx, edx
mov edx, dword [ebp - 0x38]
adc eax, 0
dec ecx
mov dword [edx], eax
mov eax, ebx
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
imul eax, ebx
imul eax, esi
add eax, edi
mov dword [edx], eax
lea edx, [ebx - 1]
imul edx, esi
add eax, edx
mov edx, dword [ebp - 0x3c]
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
imul eax, ebx
imul ebx, esi
imul eax, esi
imul ecx, ebx
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
add ecx, edi
mov dword [eax], ecx
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov eax, dword [ebp - 0x34]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], str.__d___d___d___d___p___p___p___p___p__n
mov dword [esp + 0x28], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], str._vcomp_for_static_init
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], 0x68788064
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], 3
mov dword [esp + 0x1c], eax
mov byte [ebp - 0x4c], dl
call sym._wine_dbg_log.constprop.0
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ebp - 0x4c]
test ecx, ecx
jne 0x687849b0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x687849b0
mov dword [ebp - 0x44], 1
mov edx, 1
jmp 0x68784992
call sym._vcomp_init_thread_data.part.0
jmp 0x6878497c
mov eax, ebx
sub eax, edi
cdq
idiv esi
inc eax
mov dword [ebp - 0x4c], eax
jmp 0x68784a15
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov edx, dword [ebp - 0x48]
xor eax, eax
mov esi, dword [ebp - 0x38]
test edx, edx
sete al
mov dword [esi], eax
jne 0x687849db
mov eax, dword [ebp - 0x2c]
mov dword [eax], edi
mov eax, dword [ebp - 0x3c]
mov dword [eax], edi
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
mov eax, dword [ebp - 0x34]
mov dword [eax], edi
jmp 0x687849db