Function at 0x100fa1c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [0x101b9014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0x100fc080
lea eax, [ebp - 0x14]
push 0
push eax
push 0x100fbeb0
push 0x101ce70c
call dword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
test eax, eax
je 0x100fae4e
cmp dword [0x101ce710], 0
je 0x100fa25b
nop word cs:[eax + eax]
push 0
push 0x154
push 0x101a6dd4
call fcn.100a6c10
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x100fa284
cmp byte [0x101bfbe0], 0
je 0x100fa284
call fcn.101557f1
test eax, eax
je 0x100fae3c
mov ecx, eax
call dword [section..00cfg]
push 0x154
call ecx
add esp, 4
test eax, eax
jne 0x100fa210
jmp 0x100fae3c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push dword [0x101ce714]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
je 0x100fa210
mov esi, dword [esi]
test esi, esi
jne 0x100fa2c3
jmp 0x100fa210
test esi, esi
je 0x100fae3c
mov dword [esi], 0x14c
add esi, 8
je 0x100fae3c
push 0x14c
push 0
push esi
call fcn.10149430
add esp, 0xc
push 0x100fb090
push esi
push 0
call fcn.100fc0a0
add esp, 0xc
test eax, eax
je 0x100fae3c
mov eax, dword [esi + 4]
test eax, eax
je 0x100fa33e
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa32e
mov edi, edx
and edi, 7
je 0x100fa2f5
xor ebx, ebx
mov byte [eax + ebx], 0
inc ebx
cmp edi, ebx
jne 0x100fa2e0
lea edi, [eax + ebx]
sub ecx, ebx
cmp edx, 0xfffffff8
jbe 0x100fa2fc
jmp 0x100fa32e
mov edi, eax
cmp edx, 0xfffffff8
ja 0x100fa32e
xor edx, edx
nop
mov byte [edi + edx], 0
mov byte [edi + edx + 1], 0
mov byte [edi + edx + 2], 0
mov byte [edi + edx + 3], 0
mov byte [edi + edx + 4], 0
mov byte [edi + edx + 5], 0
mov byte [edi + edx + 6], 0
mov byte [edi + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa300
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [esi + 0x14]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x100fa3f1
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa3de
mov ebx, edx
and ebx, 7
je 0x100fa398
mov dword [ebp - 0x18], edi
xor edi, edi
nop word cs:[eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa380
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa39f
jmp 0x100fa3de
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa3de
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa3b0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x28]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x100fa49e
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa48e
mov ebx, edx
and ebx, 7
je 0x100fa448
mov dword [ebp - 0x18], edi
xor edi, edi
nop word cs:[eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa430
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa44f
jmp 0x100fa48e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa48e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa460
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x3c]
mov eax, dword [esi + 0x40]
test eax, eax
je 0x100fa551
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa53e
mov ebx, edx
and ebx, 7
je 0x100fa4f8
mov dword [ebp - 0x18], edi
xor edi, edi
nop word cs:[eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa4e0
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa4ff
jmp 0x100fa53e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa53e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa510
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x50]
mov eax, dword [esi + 0x54]
test eax, eax
je 0x100fa5fe
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa5ee
mov ebx, edx
and ebx, 7
je 0x100fa5a8
mov dword [ebp - 0x18], edi
xor edi, edi
nop word cs:[eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa590
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa5af
jmp 0x100fa5ee
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa5ee
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa5c0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x64]
mov eax, dword [esi + 0x68]
test eax, eax
je 0x100fa6b1
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa69e
mov ebx, edx
and ebx, 7
je 0x100fa658
mov dword [ebp - 0x18], edi
xor edi, edi
nop word cs:[eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa640
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa65f
jmp 0x100fa69e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa69e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa670
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x78]
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x100fa75e
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa74e
mov ebx, edx
and ebx, 7
je 0x100fa708
mov dword [ebp - 0x18], edi
xor edi, edi
nop word cs:[eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa6f0
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa70f
jmp 0x100fa74e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa74e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa720
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x8c]
mov eax, dword [esi + 0x90]
test eax, eax
je 0x100fa811
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa7fe
mov ebx, edx
and ebx, 7
je 0x100fa7b8
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa7a0
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa7bf
jmp 0x100fa7fe
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa7fe
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa7d0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0xa0]
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x100fa8be
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa8ae
mov ebx, edx
and ebx, 7
je 0x100fa868
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa850
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa86f
jmp 0x100fa8ae
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa8ae
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa880
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0xb4]
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x100fa971
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fa95e
mov ebx, edx
and ebx, 7
je 0x100fa918
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa900
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa91f
jmp 0x100fa95e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fa95e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa930
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0xc8]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x100faa1e
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100faa0e
mov ebx, edx
and ebx, 7
je 0x100fa9c8
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fa9b0
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fa9cf
jmp 0x100faa0e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100faa0e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fa9e0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0xdc]
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x100faad1
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100faabe
mov ebx, edx
and ebx, 7
je 0x100faa78
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100faa60
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100faa7f
jmp 0x100faabe
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100faabe
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100faa90
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0xf0]
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x100fab7e
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fab6e
mov ebx, edx
and ebx, 7
je 0x100fab28
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fab10
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fab2f
jmp 0x100fab6e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fab6e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fab40
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x104]
mov eax, dword [esi + 0x108]
test eax, eax
je 0x100fac31
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fac1e
mov ebx, edx
and ebx, 7
je 0x100fabd8
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fabc0
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fabdf
jmp 0x100fac1e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fac1e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fabf0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x118]
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x100facde
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100facce
mov ebx, edx
and ebx, 7
je 0x100fac88
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fac70
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fac8f
jmp 0x100facce
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100facce
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100faca0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
lea edi, [esi + 0x12c]
mov eax, dword [esi + 0x130]
test eax, eax
je 0x100fad91
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fad7e
mov ebx, edx
and ebx, 7
je 0x100fad38
mov dword [ebp - 0x18], edi
xor edi, edi
nop dword [eax + eax]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x100fad20
lea ebx, [eax + edi]
sub ecx, edi
mov edi, dword [ebp - 0x18]
cmp edx, 0xfffffff8
jbe 0x100fad3f
jmp 0x100fad7e
mov ebx, eax
cmp edx, 0xfffffff8
ja 0x100fad7e
xor edx, edx
nop word cs:[eax + eax]
mov byte [ebx + edx], 0
mov byte [ebx + edx + 1], 0
mov byte [ebx + edx + 2], 0
mov byte [ebx + edx + 3], 0
mov byte [ebx + edx + 4], 0
mov byte [ebx + edx + 5], 0
mov byte [ebx + edx + 6], 0
mov byte [ebx + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fad50
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov eax, dword [esi + 0x148]
test eax, eax
je 0x100fae1e
mov edx, dword [eax - 8]
add eax, 0xfffffff8
mov ecx, edx
add ecx, 8
je 0x100fae0e
mov edi, edx
and edi, 7
je 0x100fadd5
xor ebx, ebx
nop dword [eax + eax]
mov byte [eax + ebx], 0
inc ebx
cmp edi, ebx
jne 0x100fadc0
lea edi, [eax + ebx]
sub ecx, ebx
cmp edx, 0xfffffff8
jbe 0x100faddc
jmp 0x100fae0e
mov edi, eax
cmp edx, 0xfffffff8
ja 0x100fae0e
xor edx, edx
nop
mov byte [edi + edx], 0
mov byte [edi + edx + 1], 0
mov byte [edi + edx + 2], 0
mov byte [edi + edx + 3], 0
mov byte [edi + edx + 4], 0
mov byte [edi + edx + 5], 0
mov byte [edi + edx + 6], 0
mov byte [edi + edx + 7], 0
add edx, 8
cmp ecx, edx
jne 0x100fade0
push 0
push eax
push 0x101a6dd4
call fcn.100a9680
add esp, 0xc
mov dword [esi + 0x148], 0
mov dword [esi + 0x144], 0
mov dword [esi + 0x140], 0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101465a3
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1015b4f0
int3