Function at 0x5bba31
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0xc
dec eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
mov ebx, ecx
je 0x5bc3c7
dec eax
je 0x5bbaa9
dec eax
jne 0x5bc3e7
cmp dword [esi + 0x14], 0xd
jne 0x5bc3e7
mov esi, dword [ebp + 0x14]
mov al, byte [esi + 8]
neg al
push 2
sbb eax, eax
and eax, 2
push eax
push dword [ebx + 0x3c]
call fcn.005fb25e
cmp byte [esi + 8], 0
jne 0x5bc3e7
call fcn.005cac15
push eax
mov ecx, ebx
call fcn.005bcb0e
test al, al
je 0x5bc3e7
push 3
push 0xb
push 0
mov ecx, ebx
call fcn.005c4b76
jmp 0x5bc3e7
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp eax, 0x2b
jg 0x5bbe2c
je 0x5bbfd2
cmp eax, 0x22
jg 0x5bbd51
je 0x5bbd33
sub eax, 0xc
je 0x5bbaf5
dec eax
dec eax
je 0x5bbcc1
dec eax
je 0x5bbbcb
dec eax
je 0x5bbb8a
sub eax, 6
je 0x5bbb0c
sub eax, 5
jne 0x5bc3e7
mov edi, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xe
jne 0x5bbcff
mov al, byte [edi + 8]
jmp 0x5bbd19
mov eax, dword [ebp + 0x14]
cmp byte [eax + 8], cl
je 0x5bc3e7
test byte [ebx + 0x79], 0x80
je 0x5bc3e7
mov esi, ebx
mov ecx, esi
call fcn.005a9fed
test al, al
jne 0x5bbb48
push esi
call fcn.005b9401
test eax, eax
je 0x5bbb41
mov esi, dword [eax + 0x8c]
jmp 0x5bbb44
mov esi, dword [esi + 4]
test esi, esi
jne 0x5bbb24
test esi, esi
je 0x5bc3e7
mov ecx, esi
call fcn.005a9fed
test al, al
je 0x5bc3e7
mov eax, dword [ebx]
mov edi, dword [0x7193d8]
mov ecx, ebx
call dword [eax + 0x64]
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x20]
mov byte [ebp - 0xc], al
push dword [ebp - 0xc]
push esi
push 0x8005
call fcn.0060c1c0
jmp 0x5bc3e7
mov eax, 0xf000
test dword [edi + 8], eax
je 0x5bbba4
mov ecx, dword [ebp + 0x14]
test dword [ecx + 8], eax
jne 0x5bbba4
push eax
mov ecx, ebx
call fcn.005c279a
mov esi, 0xf00
test dword [edi + 8], esi
je 0x5bc3e7
mov eax, dword [ebp + 0x14]
test dword [eax + 8], esi
jne 0x5bc3e7
push esi
mov ecx, ebx
call fcn.005c279a
jmp 0x5bc3e7
xor edi, edi
test byte [ebx + 0x7b], 0x10
je 0x5bbc57
mov ecx, ebx
call fcn.005a9f93
mov edi, eax
test edi, 0x1000000
je 0x5bbc2b
call fcn.005ade4f
test al, al
je 0x5bbc2b
test byte [ebx + 0x7d], 0x80
je 0x5bbc2b
push 0xfffff00
push edi
mov ecx, ebx
call fcn.005c3f5b
test di, 0x100
jne 0x5bc3e7
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x5bc3e7
push eax
push dword [ebx + 0x3c]
call fcn.0060ce59
jmp 0x5bc3e7
test byte [ebx + 0x7b], 0x10
je 0x5bbc57
mov esi, 0xf00
test esi, edi
je 0x5bbc57
call fcn.005ade4f
test al, al
je 0x5bbc57
test byte [ebx + 0x7d], 0x80
je 0x5bbc57
push esi
push edi
mov ecx, ebx
call fcn.005c3f5b
jmp 0x5bc3e7
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 8]
push eax
push dword [ebx + 0x3c]
call fcn.0060ce59
test byte [ebx + 0x7b], 0x10
je 0x5bc3e7
test edi, 0x1000000
je 0x5bc3e7
call fcn.005b87e0
mov eax, dword [ebp + 0x14]
cmp dword [eax + 8], 0
mov ecx, ebx
jle 0x5bbca7
push dword [0x717b28]
call fcn.005bba1e
push dword [0x717b54]
mov ecx, ebx
call fcn.005bba1e
jmp 0x5bbcb7
push 0
call fcn.005aa12d
push 1
mov ecx, ebx
call fcn.005c2d08
call fcn.005b9bd7
jmp 0x5bc3e7
mov edi, dword [ebp + 0x14]
cmp word [edi + 4], 2
jne 0x5bbaf8
cmp byte [edi + 8], cl
jne 0x5bbaf8
call fcn.005cac15
push eax
mov ecx, ebx
call fcn.005bcb0e
test al, al
je 0x5bbaf8
push 3
push 0xb
push 0
mov ecx, ebx
call fcn.005c4b76
jmp 0x5bbaf8
cmp eax, 0xc
mov al, byte [ebx + 0x7a]
jne 0x5bbd14
shr al, 4
and al, 1
mov byte [ebp - 0xc], al
mov eax, dword [edi + 8]
jmp 0x5bbd23
shr al, 4
and al, 1
mov byte [ebp - 0xc], al
movzx eax, byte [ebx + 0x79]
shr eax, 6
push eax
push dword [ebp - 0xc]
mov ecx, ebx
call fcn.005c22ce
jmp 0x5bc3e7
mov eax, dword [ebp + 0x14]
cmp byte [eax + 8], cl
je 0x5bc3e7
test byte [ebx + 0x7a], 2
je 0x5bc3e7
push 0
push ebx
jmp 0x5bbb7b
sub eax, 0x25
je 0x5bbe10
dec eax
je 0x5bbdf4
dec eax
je 0x5bbdd8
dec eax
je 0x5bbdbc
dec eax
je 0x5bbda0
dec eax
jne 0x5bc3e7
mov eax, dword [ebp + 0x14]
cmp word [eax + 4], 0xe
jne 0x5bc3e7
movzx eax, word [eax + 8]
push eax
mov ecx, ebx
call fcn.005c41e2
test eax, eax
je 0x5bc3e7
push ebx
mov ecx, eax
call fcn.005aa40d
jmp 0x5bc3e7
mov ecx, ebx
call fcn.005a9fed
test al, al
je 0x5bc3e7
push 0
push ebx
push 0x8012
jmp 0x5bbb80
mov ecx, ebx
call fcn.005a9fed
test al, al
je 0x5bc3e7
push 0
push ebx
push 0x8011
jmp 0x5bbb80
mov ecx, ebx
call fcn.005a9fed
test al, al
je 0x5bc3e7
push 0
push ebx
push 0x800e
jmp 0x5bbb80
mov ecx, ebx
call fcn.005a9fed
test al, al
je 0x5bc3e7
push 0
push ebx
push 0x800d
jmp 0x5bbb80
mov ecx, ebx
call fcn.005a9fed
test al, al
je 0x5bc3e7
push 0
push ebx
push 0x800c
jmp 0x5bbb80
cmp eax, 0x38
jg 0x5bc1ee
je 0x5bc32f
sub eax, 0x2c
je 0x5bbfaf
dec eax
dec eax
je 0x5bbf31
dec eax
je 0x5bbebe
sub eax, 3
je 0x5bbea1
sub eax, 3
je 0x5bbfd2
dec eax
jne 0x5bc3e7
test byte [ebx + 0x7b], 2
je 0x5bc3e7
test byte [ebx + 0x7a], 0x80
je 0x5bbfd2
cmp dword [edi + 8], ecx
jne 0x5bc3e7
cmp dword [edi + 0xc], ecx
jne 0x5bc3e7
cmp dword [edi + 0x10], ecx
jne 0x5bc3e7
cmp dword [edi + 0x14], ecx
je 0x5bbfd2
jmp 0x5bc3e7
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x14]
xor eax, dword [ecx + 8]
test al, 1
je 0x5bc3e7
mov ecx, ebx
call fcn.005c13ad
jmp 0x5bc3e7
mov eax, dword [ebp + 0x14]
cmp eax, dword [0x449388]
jne 0x5bbf0d
mov eax, dword [ebx + 4]
or byte [ebx + 0x81], 1
test eax, eax
je 0x5bbee4
test byte [eax + 0x81], 1
jne 0x5bc3e7
call fcn.005c1b0c
test al, al
je 0x5bc3e7
push 0
push 1
push dword [0x72dc44]
push dword [0x717c38]
mov ecx, ebx
call fcn.005baf73
jmp 0x5bc3e7
lea esi, [ebx + 0x81]
test byte [esi], 1
je 0x5bbf29
push 0
push 1
push dword [0x717c38]
mov ecx, ebx
call fcn.005bb204
and byte [esi], 0xfe
jmp 0x5bc3e7
mov ecx, dword [ebp + 0x14]
movzx eax, word [ecx + 4]
cmp ax, 0xa
mov byte [ebp - 2], 1
jne 0x5bbf61
cmp byte [ecx + 8], 2
jne 0x5bbf8f
push ecx
mov esi, ecx
push ecx
add esi, 9
mov edi, esp
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.005b4686
shr eax, 0x18
cmp al, 0xff
je 0x5bbf8f
jmp 0x5bbf8b
cmp ax, 0xb
jne 0x5bbf8f
movzx eax, byte [ecx + 0x12]
shr eax, 3
and eax, 7
mov edi, eax
call fcn.005b6987
test al, al
jne 0x5bbf8b
cmp edi, 1
je 0x5bbf8b
cmp edi, 2
je 0x5bbf8b
cmp edi, 6
jne 0x5bbf8f
mov byte [ebp - 2], 0
mov al, byte [ebp - 2]
neg al
mov ecx, 0x800
push ecx
sbb eax, eax
and eax, ecx
push eax
push dword [ebx + 0x3c]
call fcn.005fb25e
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
jmp 0x5bbfd2
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 8]
mov eax, dword [edi + 8]
mov edx, ecx
xor edx, eax
test dl, 0x4f
je 0x5bc3e7
test al, 0x40
je 0x5bbfd2
test cl, 0x40
jne 0x5bc3e7
xor eax, eax
test byte [ebx + 0x7a], 0x40
mov dword [ebp - 8], eax
mov byte [ebp - 2], al
mov byte [ebp - 1], al
je 0x5bc018
cmp esi, dword [0x717b5c]
jne 0x5bc3e7
cmp dword [edi + 8], eax
jne 0x5bc3e7
cmp dword [edi + 0xc], eax
jne 0x5bc3e7
cmp dword [edi + 0x10], eax
jne 0x5bc3e7
cmp dword [edi + 0x14], eax
jne 0x5bc3e7
jmp 0x5bc1a8
test byte [ebx + 0x7b], 2
je 0x5bc109
mov eax, dword [ebp + 8]
xor esi, esi
cmp eax, dword [0x717c30]
mov dword [ebp - 0xc], esi
jne 0x5bc066
movzx eax, word [edi + 4]
mov ecx, dword [ebp + 0x14]
cmp ax, word [ecx + 4]
jne 0x5bc058
cmp ax, 6
jne 0x5bc3e7
mov ecx, edi
call fcn.005b6987
test al, al
je 0x5bc3e7
push dword [ebp + 0x14]
lea ecx, [ebp - 0xc]
call fcn.005ae441
mov esi, dword [ebp - 0xc]
test byte [ebx + 0x7a], 0x80
je 0x5bc088
mov byte [ebp - 2], 1
mov byte [ebp - 1], 1
test esi, esi
je 0x5bc1b0
mov ecx, esi
call sym.osetup.dll_public:_void___thiscall_NetUI::BaseValue::Release_void_
jmp 0x5bc1b0
mov eax, dword [ebp + 8]
cmp eax, dword [0x717c48]
jne 0x5bc09b
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
jmp 0x5bc0a2
mov ecx, ebx
call fcn.005a9f65
mov ecx, eax
and ecx, 0xc
test al, 3
jne 0x5bc0b1
test byte [ebx + 0x7b], 8
je 0x5bc0b5
mov byte [ebp - 2], 1
test ecx, ecx
jne 0x5bc0bf
test byte [ebx + 0x7b], 8
je 0x5bc0c3
mov byte [ebp - 1], 1
cmp byte [ebp - 2], 0
je 0x5bc0cf
cmp byte [ebp - 1], 0
jne 0x5bc074
test esi, esi
jne 0x5bc0ef
push esi
push 2
push dword [0x717c30]
mov ecx, ebx
call fcn.005ba335
push eax
lea ecx, [ebp - 0xc]
call fcn.005a598e
mov esi, dword [ebp - 0xc]
movzx eax, word [esi + 4]
cmp ax, 0xb
je 0x5bc11f
cmp ax, 0xa
je 0x5bc11f
mov ecx, esi
call sym.osetup.dll_public:_void___thiscall_NetUI::BaseValue::Release_void_
mov esi, dword [ebp + 8]
mov eax, dword [0x717c2c]
cmp esi, eax
jne 0x5bc12c
push dword [ebp + 0x14]
lea ecx, [ebp - 8]
call fcn.005ae441
jmp 0x5bc141
mov byte [ebp - 2], 1
mov byte [ebp - 1], 1
jmp 0x5bc07c
push 0
push 2
push eax
mov ecx, ebx
call fcn.005ba335
push eax
lea ecx, [ebp - 8]
call fcn.005a598e
mov ecx, dword [ebp - 8]
movzx eax, word [ecx + 4]
cmp ax, 0xa
jne 0x5bc154
cmp byte [ecx + 8], 2
jne 0x5bc1a8
cmp ax, 0xb
jne 0x5bc1b0
mov ecx, dword [ebp - 8]
call fcn.005b6987
test al, al
jne 0x5bc1b0
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x12]
mov eax, ecx
and eax, 7
cmp eax, 2
je 0x5bc1a8
cmp eax, 6
je 0x5bc1a8
cmp eax, 7
je 0x5bc1a8
test eax, eax
je 0x5bc18f
cmp eax, 3
je 0x5bc18f
cmp eax, 5
jne 0x5bc1b0
shr ecx, 3
and ecx, 7
cmp ecx, 4
je 0x5bc1a8
mov eax, dword [ebp - 8]
test byte [eax + 0x13], 0x10
jne 0x5bc1a8
cmp ecx, 5
jne 0x5bc1b0
mov byte [ebp - 1], 1
mov byte [ebp - 2], 1
mov al, byte [ebp - 1]
mov cl, byte [ebp - 2]
neg al
push 0x600
sbb eax, eax
and eax, 0x400
neg cl
sbb ecx, ecx
and ecx, 0x200
or eax, ecx
push eax
push dword [ebx + 0x3c]
call fcn.005fb25e
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x5bc3e7
call sym.osetup.dll_public:_void___thiscall_NetUI::BaseValue::Release_void_
jmp 0x5bc3e7
cmp eax, 0x44
je 0x5bc393
cmp eax, 0x7e
jle 0x5bc3e7
cmp eax, 0x80
jle 0x5bc32f
cmp eax, 0x82
je 0x5bc32f
cmp eax, 0x84
je 0x5bc2d5
cmp eax, 0x85
je 0x5bc2a2
cmp eax, 0x88
jne 0x5bc3e7
mov eax, dword [ebp + 0x14]
xor esi, esi
cmp byte [eax + 8], cl
je 0x5bc27d
test byte [ebx + 0x79], 4
mov eax, dword [0x717718]
jne 0x5bc24d
mov eax, dword [0x71771c]
push esi
push 1
push eax
push dword [0x717d14]
mov ecx, ebx
call fcn.005baf73
test byte [ebx + 0x79], 8
mov eax, dword [0x717718]
jne 0x5bc26e
mov eax, dword [0x71771c]
push esi
push 1
push eax
push dword [0x717d10]
jmp 0x5bbf01
push esi
push 1
push dword [0x717d14]
mov ecx, ebx
call fcn.005bb204
push esi
push 1
push dword [0x717d10]
mov ecx, ebx
call fcn.005bb204
jmp 0x5bc3e7
xor esi, esi
push esi
mov ecx, ebx
call fcn.005c2a7b
cmp eax, esi
je 0x5bc3e7
cmp dword [edi + 8], esi
je 0x5bc3e7
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 8], esi
je 0x5bc3e7
fld dword [eax + 8]
push ecx
fstp dword [esp]
push dword [eax + 4]
jmp 0x5bc323
mov ecx, ebx
call fcn.005a9d39
test eax, eax
je 0x5bc3e7
cmp dword [edi + 8], 0xfffffffe
je 0x5bc3e7
push 0
mov ecx, ebx
call fcn.005c2a7b
test eax, eax
je 0x5bc31a
cmp dword [eax], 0
je 0x5bc31a
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 8]
cmp ecx, dword [eax + 4]
jne 0x5bc31a
fld dword [eax + 8]
fld1
fsubrp st(1)
fstp dword [ebp - 0xc]
fld dword [ebp - 0xc]
jmp 0x5bc31c
fldz
push ecx
fstp dword [esp]
push dword [edi + 8]
mov ecx, ebx
call fcn.005c40b6
jmp 0x5bc3e7
and dword [ebp - 0xc], ecx
lea eax, [ebp - 0xc]
push eax
mov ecx, ebx
call fcn.005a9c9b
mov ecx, ebx
call fcn.005a9e47
cmp eax, 3
mov esi, dword [ebp - 0xc]
je 0x5bc37d
mov ecx, ebx
call fcn.005a9cb9
test eax, eax
jg 0x5bc37d
mov ecx, ebx
call fcn.005a9ce5
test eax, eax
jg 0x5bc37d
push esi
call fcn.005a5944
test al, al
jne 0x5bc379
lea eax, [esi + 8]
push eax
call fcn.005b60b7
test eax, eax
jne 0x5bc37d
xor al, al
jmp 0x5bc380
xor eax, eax
inc eax
push eax
mov ecx, ebx
call fcn.005c2ba4
test esi, esi
je 0x5bc3e7
mov ecx, esi
jmp 0x5bc1e4
mov al, byte [ebx + 0x79]
and al, 3
cmp al, 1
jne 0x5bc3e7
push dword [0x717aec]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [eax + 8]
push 1
push 0
push ebx
lea ecx, [esi + 0x64]
call fcn.005b889e
push 1
push 0
push ebx
lea ecx, [esi + 0x58]
call fcn.005b889e
jmp 0x5bc3e7
mov eax, dword [esi + 0x14]
dec eax
je 0x5bc3d9
sub eax, 0x44
jne 0x5bc3e7
mov eax, dword [ebx + 4]
push eax
push eax
jmp 0x5bc3e2
push dword [edi + 8]
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
call fcn.005bb034
push dword [ebp + 0x14]
mov ecx, ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.005be2b8
pop edi
pop esi
pop ebx
leave
ret 0x10