Function at 0x10008f20
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c4
mov edx, dword [ebp + 0xc]
xor al, al
push ebx
push esi
xor ebx, ebx
mov dword [esp + 0x28], eax
mov byte [esp + 0x78], al
mov dword [esp + 0xc], 0xfffffffe
mov dword [esp + 0x14], 0xffffffff
push edi
test edx, edx
je 0x10008fb8
mov ecx, edx
mov ebx, 1
and ecx, 0x3f
mov eax, edx
shl ebx, cl
mov ecx, edx
shr ecx, 6
and ebx, 0xfffffffe
and ecx, 0xffffff01
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x7c], cl
and eax, 0xfff00
jne 0x10008f84
mov eax, 0xfffffffe
jmp 0x10008f9d
cmp eax, 0x100
jne 0x10008f90
or eax, 0xffffffff
jmp 0x10008f9d
mov eax, edx
shr eax, 8
and eax, 0xfff
sub eax, 2
mov dword [esp + 0x10], eax
test edx, 0xfff00000
je 0x10008fb1
mov eax, edx
shr eax, 0x14
dec eax
jmp 0x10008fb4
or eax, 0xffffffff
mov dword [esp + 0x18], eax
cmp dword [0x10050928], 0
je 0x10008fdd
call fcn.100052f0
test al, al
je 0x10008fdd
push 0xc
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [0x10056a08]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
jne 0x100093aa
mov ecx, 0x950
call fcn.10033a20
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
je 0x10009e57
xorps xmm0, xmm0
mov byte [esi], 0
xor eax, eax
movlpd qword [esp + 0x90], xmm0
movlpd qword [esp + 0x98], xmm0
movlpd qword [esp + 0xa0], xmm0
movlpd qword [esp + 0xa8], xmm0
movlpd qword [esp + 0xb0], xmm0
movlpd qword [esp + 0xb8], xmm0
movlpd qword [esp + 0xc0], xmm0
movlpd qword [esp + 0xc8], xmm0
movlpd qword [esp + 0xd0], xmm0
movlpd qword [esp + 0xd8], xmm0
movlpd qword [esp + 0xe0], xmm0
movlpd qword [esp + 0xe8], xmm0
movlpd qword [esp + 0xf8], xmm0
movlpd qword [esp + 0x100], xmm0
movlpd qword [esp + 0x108], xmm0
movaps xmm0, xmmword [0x1004e200]
push 0x8c
push eax
mov word [esp + 0x14d], ax
mov byte [esp + 0x14f], al
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], eax
mov byte [esp + 0x158], al
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x180]
movups xmmword [esp + 0x118], xmm0
mov word [esp + 0x90], di
xorps xmm0, xmm0
mov byte [esp + 0x92], 0
push eax
mov dword [esp + 0xfc], edi
mov word [esp + 0x12c], 0xffff
movups xmmword [esp + 0x12e], xmm0
mov word [esp + 0x14e], di
movups xmmword [esp + 0x13e], xmm0
mov byte [esp + 0x150], 0
movlpd qword [esp + 0x164], xmm0
movlpd qword [esp + 0x16c], xmm0
call fcn.10036180
add esp, 0xc
mov dword [esp + 0x204], 1
mov dword [esp + 0x208], edi
mov dword [esp + 0x20c], 1
mov dword [esp + 0x210], edi
mov dword [esp + 0x214], 1
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], 1
mov dword [esp + 0x220], edi
mov dword [esp + 0x224], 1
mov dword [esp + 0x228], edi
mov dword [esp + 0x22c], 1
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], 1
mov dword [esp + 0x238], edi
mov dword [esp + 0x23c], 1
mov dword [esp + 0x240], edi
mov dword [esp + 0x244], 1
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], 1
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], 1
mov dword [esp + 0x258], edi
mov dword [esp + 0x25c], 1
mov dword [esp + 0x260], edi
mov dword [esp + 0x264], 1
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], 1
mov dword [esp + 0x270], edi
mov dword [esp + 0x274], 1
mov dword [esp + 0x278], edi
mov dword [esp + 0x27c], 1
mov dword [esp + 0x280], edi
mov dword [esp + 0x284], 1
mov dword [esp + 0x288], edi
mov dword [esp + 0x28c], 1
xor eax, eax
mov dword [esp + 0x290], edi
push 0x6d8
xorps xmm0, xmm0
mov word [esp + 0x2c9], ax
push eax
mov byte [esp + 0x2cf], al
mov dword [esp + 0x2f0], eax
lea eax, [esp + 0x2f8]
push eax
mov dword [esp + 0x2a0], 1
mov dword [esp + 0x2a4], edi
mov dword [esp + 0x2a8], 1
mov dword [esp + 0x2ac], edi
mov dword [esp + 0x2b0], 1
mov dword [esp + 0x2b4], edi
mov dword [esp + 0x2b8], 1
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x2c0], 1
mov dword [esp + 0x2c4], edi
mov dword [esp + 0x2c8], 1
mov dword [esp + 0x2cc], edi
mov byte [esp + 0x2d0], 6
movlpd qword [esp + 0x2d4], xmm0
movlpd qword [esp + 0x2dc], xmm0
movlpd qword [esp + 0x2e4], xmm0
movlpd qword [esp + 0x2ec], xmm0
call fcn.10036180
mov dword [esp + 0x9d4], edi
add esp, 0xc
lea edi, [esi + 8]
mov byte [esp + 0x9cc], 0
mov ecx, 0x252
lea esi, [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
push edi
push dword [0x10056a08]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x10009e66
add edi, 8
mov dword [esp + 0x30], edi
cmp byte [edi + 0x23c], 0
je 0x100093d6
xor dl, dl
mov ecx, edi
call fcn.10032cd0
mov edi, eax
mov dword [esp + 0x30], eax
cmp byte [edi + 0x23c], 0
jne 0x100098f4
lea eax, [ebx - 1]
mov dword [esp + 0x14], 0
test ebx, eax
jne 0x10008fd2
test ebx, ebx
jne 0x1000942a
mov eax, dword [ebp + 8]
cmp eax, 0x1000
ja 0x10009406
add eax, 7
shr eax, 3
movzx eax, byte [eax + 0x10056040]
jmp 0x1000940d
mov ecx, eax
call fcn.10001010
mov dword [esp + 0x14], eax
cmp eax, 0x68
jae 0x10008fd2
mov esi, dword [eax*4 + 0x10055e80]
mov dword [esp + 0x20], esi
jmp 0x1000953f
mov esi, dword [ebp + 8]
cmp esi, 0x3800
ja 0x100094aa
cmp ebx, 0x1000
ja 0x100094aa
dec esi
mov eax, ebx
add esi, ebx
neg eax
and esi, eax
cmp esi, 0x1000
ja 0x10009464
lea eax, [esi + 7]
shr eax, 3
movzx eax, byte [eax + 0x10056040]
mov esi, dword [eax*4 + 0x10055e80]
jmp 0x10009497
cmp esi, 0x70000000
jbe 0x10009470
xor esi, esi
jmp 0x10009497
lea ecx, [esi*2 - 1]
call fcn.10001000
mov ecx, 4
cmp eax, 7
jb 0x10009489
lea ecx, [eax - 3]
mov eax, 1
dec esi
shl eax, cl
add esi, eax
neg eax
and esi, eax
mov dword [esp + 0x20], esi
cmp esi, 0x4000
jb 0x1000952b
mov esi, dword [ebp + 8]
cmp ebx, 0x70000000
ja 0x10008fd2
cmp esi, 0x4000
ja 0x100094c9
mov esi, 0x4000
mov dword [esp + 0x20], esi
jmp 0x10009509
cmp esi, 0x70000000
jbe 0x100094d5
xor esi, esi
jmp 0x100094fc
lea ecx, [esi*2 - 1]
call fcn.10001000
mov ecx, 4
cmp eax, 7
jb 0x100094ee
lea ecx, [eax - 3]
mov eax, 1
shl eax, cl
dec eax
add esi, eax
not eax
and esi, eax
mov dword [esp + 0x20], esi
cmp esi, dword [ebp + 8]
jb 0x10008fd2
mov eax, dword [0x10056a18]
lea ecx, [ebx + 0xfff]
and ecx, 0xfffff000
add eax, 0xfffff000
add ecx, esi
add eax, ecx
cmp eax, esi
jb 0x10008fd2
test esi, esi
je 0x10008fd2
cmp esi, 0x70000000
ja 0x10008fd2
mov ecx, dword [esp + 0x10]
cmp esi, 0x3800
setbe byte [esp + 0x24]
cmp ecx, 0xfffffffe
jne 0x1000955b
lea eax, [edi + 0x260]
jmp 0x10009596
cmp ecx, 0xffffffff
jne 0x1000956a
mov dword [esp + 0x1c], 0
jmp 0x1000959a
mov eax, dword [0x10056a14]
lea eax, [eax + ecx*4]
mov dword [esp + 0x10], eax
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10009e75
cmp eax, 1
jne 0x1000959a
mov ecx, edi
call fcn.10031c90
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
jne 0x100095ad
mov dword [esp + 0x10], 0
jmp 0x100095d3
push 1
mov edx, eax
mov ecx, edi
call fcn.100014b0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100095d3
mov eax, dword [esp + 0x18]
cmp eax, dword [0x100582b8]
jae 0x10008fd2
test ebx, ebx
je 0x10009611
lea ecx, [edi + 0x940]
mov edx, 0xe
push 0
call fcn.100010c0
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, edi
push edx
push dword [esp + 0x28]
mov edx, dword [esp + 0x18]
push dword [esp + 0x84]
push ebx
push esi
call fcn.100113f0
add esp, 0x14
jmp 0x10009871
cmp byte [edi + 1], 0
jne 0x1000962c
lea ecx, [edi + 0x940]
mov edx, 0xe
push 0
call fcn.100010c0
add esp, 4
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x10009850
cmp esi, 0x3800
ja 0x10009726
mov esi, dword [esp + 0x14]
lea eax, [esi*2 + 1]
add eax, esi
lea ecx, [ebx + eax*8]
mov eax, dword [ecx]
movzx edx, ax
mov dword [esp + 0x18], ecx
mov ebx, dword [eax]
add eax, 4
cmp dx, word [ecx + 0x10]
je 0x1000968c
mov dword [ecx], eax
cmp byte [esp + 0x2c], 0
je 0x10009873
push dword [esi*4 + 0x10055e80]
push 0
push ebx
call fcn.10036180
add esp, 0xc
jmp 0x10009873
cmp dx, word [ecx + 0x14]
je 0x1000969a
mov dword [ecx], eax
mov word [ecx + 0x10], ax
jmp 0x1000966a
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0
call fcn.100014e0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100096b9
xor ebx, ebx
jmp 0x10009873
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [edx]
call fcn.100010a0
mov ecx, esi
mov bl, al
call fcn.10001610
push 1
test bl, bl
je 0x100096e0
mov ecx, dword [esp + 0x18]
jmp 0x10009858
mov esi, dword [esp + 0x18]
mov ecx, edi
mov ebx, dword [esp + 0x20]
mov edx, ebx
push esi
push dword [esp + 0x20]
call fcn.10031340
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x36]
add esp, 0xc
mov ecx, edi
push eax
push esi
push dword [esp + 0x20]
push ebx
call fcn.10030c20
add esp, 0x10
mov ebx, eax
cmp byte [esp + 0x2a], 0
jne 0x1000966a
xor ebx, ebx
jmp 0x10009873
mov ecx, dword [ebx]
call fcn.10001610
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jae 0x10009854
mov esi, dword [ebx]
mov eax, ecx
lea ecx, [eax*2 + 1]
add ecx, eax
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x18], ecx
call fcn.100010a0
mov ecx, esi
mov bl, al
call fcn.10001610
test bl, bl
jne 0x10009850
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
movzx ecx, ax
mov edx, dword [eax]
add eax, 4
cmp cx, word [ebx + 0x10]
je 0x1000977b
mov dword [ebx], eax
jmp 0x10009787
cmp cx, word [ebx + 0x14]
je 0x100097af
mov dword [ebx], eax
mov word [ebx + 0x10], ax
cmp byte [esp + 0x2c], 0
mov ebx, edx
je 0x10009873
mov ecx, dword [esp + 0x14]
push dword [ecx*4 + 0x10055e80]
push 0
push edx
call fcn.10036180
add esp, 0xc
jmp 0x10009873
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0
call fcn.100014e0
mov esi, eax
add esp, 4
test esi, esi
jne 0x100097cc
xor ebx, ebx
jmp 0x10009873
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push ebx
mov ecx, edi
call fcn.10031340
mov ebx, dword [ebp + 8]
add esp, 0xc
cmp ebx, 0x1000
ja 0x10009803
lea eax, [ebx + 7]
shr eax, 3
movzx eax, byte [eax + 0x10056040]
mov ecx, dword [eax*4 + 0x10055e80]
jmp 0x10009837
cmp ebx, 0x70000000
jbe 0x1000980f
xor ecx, ecx
jmp 0x10009837
lea ecx, [ebx*2 - 1]
call fcn.10001000
mov ecx, 4
cmp eax, 7
jb 0x10009828
lea ecx, [eax - 3]
mov eax, 1
shl eax, cl
dec eax
lea ecx, [eax + ebx]
not eax
and ecx, eax
push dword [esp + 0x7c]
mov edx, esi
push ecx
mov ecx, edi
call fcn.100270a0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1000987b
jmp 0x10009873
mov ecx, dword [esp + 0x14]
push dword [esp + 0x24]
push dword [esp + 0x80]
mov edx, dword [esp + 0x18]
push ecx
push dword [ebp + 8]
mov ecx, edi
call fcn.10011370
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x10008fd2
mov ecx, dword [esp + 0x30]
add edi, 0x240
mov byte [esp + 0x34], 1
mov dword [esp + 0x38], edi
lea eax, [ecx + 8]
mov dword [esp + 0x3c], eax
lea eax, [ecx + 0x10]
mov dword [esp + 0x40], eax
lea eax, [ecx + 0x248]
mov dword [esp + 0x44], eax
mov edx, dword [edi]
mov ecx, edx
add ecx, dword [esp + 0x20]
mov esi, dword [edi + 4]
mov eax, esi
adc eax, 0
mov dword [edi], ecx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, edx
sbb eax, esi
xor edx, edx
cmp edx, eax
jb 0x10009e4e
ja 0x100098de
cmp dword [esp + 0x20], ecx
jb 0x10009e4e
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x34]
call fcn.10032540
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebx - 1]
mov dword [esp + 0x14], 0
test ebx, eax
jne 0x10009e21
mov esi, dword [ebp + 8]
test ebx, ebx
jne 0x10009949
cmp esi, 0x1000
ja 0x10009925
lea eax, [esi + 7]
shr eax, 3
movzx eax, byte [eax + 0x10056040]
jmp 0x1000992c
mov ecx, esi
call fcn.10001010
mov dword [esp + 0x14], eax
cmp eax, 0x68
jae 0x10009e21
mov esi, dword [eax*4 + 0x10055e80]
mov dword [esp + 0x20], esi
jmp 0x10009a59
cmp esi, 0x3800
ja 0x100099c6
cmp ebx, 0x1000
ja 0x100099c6
dec esi
mov eax, ebx
add esi, ebx
neg eax
and esi, eax
cmp esi, 0x1000
ja 0x10009980
lea eax, [esi + 7]
shr eax, 3
movzx eax, byte [eax + 0x10056040]
mov esi, dword [eax*4 + 0x10055e80]
jmp 0x100099b3
cmp esi, 0x70000000
jbe 0x1000998c
xor esi, esi
jmp 0x100099b3
lea ecx, [esi*2 - 1]
call fcn.10001000
mov ecx, 4
cmp eax, 7
jb 0x100099a5
lea ecx, [eax - 3]
mov eax, 1
dec esi
shl eax, cl
add esi, eax
neg eax
and esi, eax
mov dword [esp + 0x20], esi
cmp esi, 0x4000
jb 0x10009a45
mov esi, dword [ebp + 8]
cmp ebx, 0x70000000
ja 0x10009e21
cmp esi, 0x4000
ja 0x100099e5
mov esi, 0x4000
mov dword [esp + 0x20], esi
jmp 0x10009a25
cmp esi, 0x70000000
jbe 0x100099f1
xor esi, esi
jmp 0x10009a18
lea ecx, [esi*2 - 1]
call fcn.10001000
mov ecx, 4
cmp eax, 7
jb 0x10009a0a
lea ecx, [eax - 3]
mov eax, 1
shl eax, cl
dec eax
add esi, eax
not eax
and esi, eax
mov dword [esp + 0x20], esi
cmp esi, dword [ebp + 8]
jb 0x10009e21
lea eax, [ebx + 0xfff]
and eax, 0xfffff000
add eax, 0xfffff000
add eax, dword [0x10056a18]
add eax, esi
cmp eax, esi
jb 0x10009e21
test esi, esi
je 0x10009e21
cmp esi, 0x70000000
ja 0x10009e21
mov al, byte [edi + 1]
test al, al
jle 0x10009a6d
or ecx, 0xffffffff
mov dword [esp + 0x18], 0
jmp 0x10009a71
mov ecx, dword [esp + 0x10]
cmp esi, 0x3800
setbe byte [esp + 0x24]
cmp ecx, 0xfffffffe
jne 0x10009a98
cmp byte [edi], 0
jne 0x10009a90
mov dword [esp + 0x1c], 0
jmp 0x10009ad7
lea eax, [edi + 0x260]
jmp 0x10009ad3
cmp ecx, 0xffffffff
jne 0x10009aa7
mov dword [esp + 0x1c], 0
jmp 0x10009ad7
mov eax, dword [0x10056a14]
lea eax, [eax + ecx*4]
mov dword [esp + 0x10], eax
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10009e88
cmp eax, 1
jne 0x10009ad7
mov ecx, edi
call fcn.10031c90
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
jne 0x10009aea
mov dword [esp + 0x10], 0
jmp 0x10009b10
push 1
mov edx, eax
mov ecx, edi
call fcn.100014b0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10009b10
mov eax, dword [esp + 0x18]
cmp eax, dword [0x100582b8]
jae 0x10009e21
test ebx, ebx
je 0x10009b4e
lea ecx, [edi + 0x940]
mov edx, 0xe
push 0
call fcn.100010c0
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, edi
push edx
push dword [esp + 0x28]
mov edx, dword [esp + 0x18]
push dword [esp + 0x84]
push ebx
push esi
call fcn.100113f0
add esp, 0x14
jmp 0x10009db2
cmp byte [edi + 1], 0
jne 0x10009b69
lea ecx, [edi + 0x940]
mov edx, 0xe
push 0
call fcn.100010c0
add esp, 4
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x10009d91
cmp esi, 0x3800
ja 0x10009c67
mov esi, dword [esp + 0x14]
lea eax, [esi*2 + 1]
add eax, esi
lea ecx, [ebx + eax*8]
mov eax, dword [ecx]
movzx edx, ax
mov dword [esp + 0x18], ecx
mov ebx, dword [eax]
add eax, 4
cmp dx, word [ecx + 0x10]
je 0x10009bc9
mov dword [ecx], eax
cmp byte [esp + 0x2c], 0
je 0x10009db4
push dword [esi*4 + 0x10055e80]
push 0
push ebx
call fcn.10036180
add esp, 0xc
jmp 0x10009db4
cmp dx, word [ecx + 0x14]
je 0x10009bd7
mov dword [ecx], eax
mov word [ecx + 0x10], ax
jmp 0x10009ba7
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0
call fcn.100014e0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10009bf6
xor ebx, ebx
jmp 0x10009db4
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [edx]
call fcn.100010a0
mov ecx, esi
mov bl, al
call fcn.10001610
push 1
test bl, bl
je 0x10009c21
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
jmp 0x10009d9d
mov esi, dword [esp + 0x18]
mov ecx, edi
mov ebx, dword [esp + 0x20]
mov edx, ebx
push esi
push dword [esp + 0x20]
call fcn.10031340
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x37]
add esp, 0xc
mov ecx, edi
push eax
push esi
push dword [esp + 0x20]
push ebx
call fcn.10030c20
add esp, 0x10
mov ebx, eax
cmp byte [esp + 0x2b], 0
jne 0x10009ba7
xor ebx, ebx
jmp 0x10009db4
mov ecx, dword [ebx]
call fcn.10001610
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jae 0x10009d95
mov esi, dword [ebx]
mov eax, ecx
lea ecx, [eax*2 + 1]
add ecx, eax
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x18], ecx
call fcn.100010a0
mov ecx, esi
mov bl, al
call fcn.10001610
test bl, bl
jne 0x10009d91
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
movzx ecx, ax
mov edx, dword [eax]
add eax, 4
cmp cx, word [ebx + 0x10]
je 0x10009cbc
mov dword [ebx], eax
jmp 0x10009cc8
cmp cx, word [ebx + 0x14]
je 0x10009cf0
mov dword [ebx], eax
mov word [ebx + 0x10], ax
cmp byte [esp + 0x2c], 0
mov ebx, edx
je 0x10009db4
mov ecx, dword [esp + 0x14]
push dword [ecx*4 + 0x10055e80]
push 0
push edx
call fcn.10036180
add esp, 0xc
jmp 0x10009db4
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0
call fcn.100014e0
mov esi, eax
add esp, 4
test esi, esi
jne 0x10009d0d
xor ebx, ebx
jmp 0x10009db4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push ebx
mov ecx, edi
call fcn.10031340
mov ebx, dword [ebp + 8]
add esp, 0xc
cmp ebx, 0x1000
ja 0x10009d44
lea eax, [ebx + 7]
shr eax, 3
movzx eax, byte [eax + 0x10056040]
mov ecx, dword [eax*4 + 0x10055e80]
jmp 0x10009d78
cmp ebx, 0x70000000
jbe 0x10009d50
xor ecx, ecx
jmp 0x10009d78
lea ecx, [ebx*2 - 1]
call fcn.10001000
mov ecx, 4
cmp eax, 7
jb 0x10009d69
lea ecx, [eax - 3]
mov eax, 1
shl eax, cl
dec eax
lea ecx, [eax + ebx]
not eax
and ecx, eax
push dword [esp + 0x7c]
mov edx, esi
push ecx
mov ecx, edi
call fcn.100270a0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10009db8
jmp 0x10009db4
mov ecx, dword [esp + 0x14]
push dword [esp + 0x24]
mov edx, dword [esp + 0x14]
push dword [esp + 0x80]
push ecx
push dword [ebp + 8]
mov ecx, edi
call fcn.10011370
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x10009e21
mov ecx, dword [esp + 0x30]
add edi, 0x240
mov byte [esp + 0x48], 1
mov dword [esp + 0x4c], edi
lea eax, [ecx + 8]
mov dword [esp + 0x50], eax
lea eax, [ecx + 0x10]
mov dword [esp + 0x54], eax
lea eax, [ecx + 0x248]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x58], eax
xor eax, eax
mov edx, dword [edi]
add ecx, edx
mov esi, dword [edi + 4]
adc eax, esi
mov dword [edi], ecx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, edx
sbb eax, esi
xor edx, edx
cmp edx, eax
jb 0x10009e23
ja 0x10009e12
cmp dword [esp + 0x20], ecx
jb 0x10009e23
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48]
call fcn.10032540
jmp 0x10009e23
xor ebx, ebx
mov eax, dword [ebp + 8]
mov edx, ebx
mov dword [esp + 0x5c], eax
mov ecx, 7
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x5c]
push eax
push ebx
mov dword [esp + 0x6c], 0
call fcn.100248b0
add esp, 8
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._jemalloc_:_Error_allocating_TSD_n
call fcn.10027c00
call fcn.10038150
mov ecx, str._jemalloc_:_Error_setting_TSD_n
call fcn.10027c00
call fcn.10038150
push ecx
push str._jemalloc_:_invalid_tcache_id___u_._n
call fcn.10028f60
add esp, 8
call fcn.10038150
push ecx
push str._jemalloc_:_invalid_tcache_id___u_._n
call fcn.10028f60
add esp, 8
call fcn.10038150
int3