joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100a5f67
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push esi
call fcn.100386e0
mov esi, 0x101f7acc
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [0x101f7af8]
cmp dword [0x101f7abc], 1
jl 0x100a5fb3
push dword [0x101f7af8]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__p____d__Suspending_vm..._n
push dword [0x101f7a84]
call fcn.1011305a
push dword [0x101f7a84]
call fcn.10118084
add esp, 0x14
cmp dword [0x101f7af8], 1
jne 0x100a5fd6
call fcn.100a24f9
push 0
push 0x100a1335
push dword [0x101f7a98]
call sym.mono.dll_mono_g_hash_table_foreach
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
jmp fcn.10038744

Function at 0x100a5fe3
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push esi
push edi
call ebx
mov edi, str...monominidebugger_agent.c
mov esi, str._Assertion_at__s:_d__condition___s_not_met_n
cmp dword [0x101f7ac4], eax
je 0x100a6018
push str.debugger_thread_id__GetCurrentThreadId___
push 0x8d0
push edi
push esi
push 4
push 0
call fcn.100010d9
add esp, 0x18
call fcn.100386e0
push 0x101f7acc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x101f7af8], 0
jg 0x100a6049
push str.suspend_count___0
push 0x8d6
push edi
push esi
push 4
push 0
call fcn.100010d9
add esp, 0x18
dec dword [0x101f7af8]
cmp dword [0x101f7abc], 1
jl 0x100a607f
push dword [0x101f7af8]
call ebx
push eax
push str.__p____d__Resuming_vm..._n
push dword [0x101f7a84]
call fcn.1011305a
push dword [0x101f7a84]
call fcn.10118084
add esp, 0x14
cmp dword [0x101f7af8], 0
jne 0x100a60a2
call fcn.100a2537
push 0
push 0x100a5f41
push dword [0x101f7a98]
call sym.mono.dll_mono_g_hash_table_foreach
add esp, 0xc
push dword [0x101f7b7c]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x100a60c9
push str.err__0
push 0x8e3
push edi
push esi
push 4
push eax
call fcn.100010d9
add esp, 0x18
push 0x101f7acc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
jmp fcn.10038744
Function at 0x100a62cc
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
xor edi, edi
cmp dword [0x101f7b58], edi
jne 0x100a62e9
call fcn.100e8664
mov dword [0x101f7b58], eax
push dword [0x101f7a90]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
cmp ebx, edi
jne 0x100a631a
push 0x101b07dc
push 0x1501
push str...monominidebugger_agent.c
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
call fcn.100386e0
mov esi, dword [ebx + 0x40]
mov dword [ebp - 8], esi
cmp esi, edi
jne 0x100a6348
push str.invoke
push 0x150b
push str...monominidebugger_agent.c
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
mov eax, dword [ebx + 0xe4]
mov dword [ebx + 0x40], edi
mov dword [esi + 0x44], eax
mov dword [ebx + 0xe4], esi
call fcn.10038744
mov dword [ebx + 0x3c], edi
mov edi, dword [esi]
push 0x80
call fcn.10001a5d
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
sub eax, 0xffffff80
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x14]
push eax
push ebx
mov ecx, esi
call fcn.100a325d
add esp, 0xc
test byte [esi + 4], 2
mov dword [ebp - 4], eax
jne 0x100a6397
call fcn.100a5f67
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 4]
push edi
call fcn.100a0bb4
push dword [ebp - 0x14]
call sym.mono.dll_g_free
add esp, 0x10
add esi, 0x10
push 9
pop ecx
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 8]
xor edi, edi
cmp dword [esi + 0x34], edi
je 0x100a63ce
lea eax, [ebp - 0x38]
push eax
call fcn.100a1098
pop ecx
test byte [esi + 4], 2
je 0x100a6404
cmp dword [ebx + 0x84], edi
jne 0x100a63fb
push str.tls__resume_count
push 0x1529
push str...monominidebugger_agent.c
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
mov eax, dword [esi + 0x40]
sub dword [ebx + 0x84], eax
cmp dword [0x101f7abc], 1
jl 0x100a6432
push dword [ebx + 0x84]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__p__Invoke_finished__resume_count___d._n
call fcn.10115e89
push dword [0x101f7a84]
call fcn.10118084
add esp, 0x10
call fcn.100386e0
cmp dword [ebx + 0xe0], edi
je 0x100a644b
push dword [ebx + 0x88]
call fcn.1007ebaa
pop ecx
mov eax, dword [ebx + 0xe4]
mov eax, dword [eax + 0x44]
and dword [ebx + 0xe0], edi
mov dword [ebx + 0xe4], eax
call fcn.10038744
push dword [esi + 8]
call sym.mono.dll_g_free
push esi
call sym.mono.dll_g_free
pop ecx
pop ecx
call fcn.100a6e4a
pop edi
pop esi
pop ebx
leave
ret
Function at 0x100a6e4a
Capabilities:
Get thread local storage value

Disassembly:
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, str...monominidebugger_agent.c
mov esi, str._Assertion_at__s:_d__condition___s_not_met_n
cmp dword [0x101f7ac4], eax
jne 0x100a6e7c
push str.debugger_thread_id___GetCurrentThreadId___
push 0x931
push edi
push esi
push 4
push 0
call fcn.100010d9
add esp, 0x18
call fcn.10038780
test eax, eax
jne 0x100a6fba
push ebx
push dword [0x101f7a90]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
test ebx, ebx
jne 0x100a6eb3
push 0x101b07dc
push 0x93c
push edi
push esi
push 4
push eax
call fcn.100010d9
add esp, 0x18
mov esi, 0x101f7acc
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
and dword [ebx + 0x48], 0
xor edi, edi
inc edi
cmp dword [ebx + 0x44], 0
mov dword [ebx + 0x4c], edi
jne 0x100a6edd
push 0x101f7b84
mov dword [ebx + 0x44], edi
call fcn.1000b67c
pop ecx
cmp dword [0x101f7abc], edi
jl 0x100a6f0a
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__p__Suspended._n
push dword [0x101f7a84]
call fcn.1011305a
push dword [0x101f7a84]
call fcn.10118084
add esp, 0x10
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100a6f39
push 0
push dword [0x101f7b7c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x100a6f39
push esi
call edi
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x101f7af8]
sub eax, dword [ebx + 0x84]
test eax, eax
jg 0x100a6f12
and dword [ebx + 0x44], 0
and dword [ebx + 0x4c], 0
dec dword [0x101f7b54]
push esi
call edi
xor esi, esi
inc esi
cmp dword [0x101f7abc], esi
jl 0x100a6f89
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__p__Resumed._n
push dword [0x101f7a84]
call fcn.1011305a
push dword [0x101f7a84]
call fcn.10118084
add esp, 0x10
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x100a6fa5
mov dword [eax + 0x34], esi
mov edi, dword [ebx + 0x40]
push 9
add edi, 0x10
pop ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
call fcn.100a62cc
and dword [ebx + 0x2c], 0
and dword [ebx + 0xd0], 0
mov eax, ebx
pop ebx
pop edi
pop esi
jmp fcn.100a14b2
pop edi
pop esi
ret

Function at 0x100a84b1
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
call fcn.100386e0
push 0
push 0x100a8465
push dword [0x101f7a78]
call fcn.10004c77
add esp, 0xc
jmp 0x100a84d7
push 0
push eax
call fcn.10004b47
pop ecx
pop ecx
mov eax, dword [0x101f7a78]
cmp dword [eax + 4], 0
jne 0x100a84cd
jmp fcn.10038744

Function at 0x100a8925
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
call fcn.100386e0
push 0
push 0x100a8416
push dword [0x101f7a74]
call fcn.10001e5c
push 0
push 0x100a8427
push dword [0x101f7b3c]
call sym.mono.dll_mono_g_hash_table_foreach
push 0
push 0x100a8443
call sym.mono.dll_mono_assembly_foreach
push 0
push fcn.100a8454
push dword [0x101f7b4c]
call fcn.10001e5c
add esp, 0x2c
jmp fcn.10038744
Function at 0x100a8a09
Capabilities:
Allocate thread local storage

Disassembly:
push esi
xor esi, esi
cmp dword [0x101f7b08], esi
je 0x100a8c2f
push ebx
xor ebx, ebx
push edi
inc ebx
push ebx
call fcn.10038773
call fcn.10004a27
mov dword [0x101f7b78], eax
mov dword [0x101f7a70], esi
mov dword [0x101f7af0], esi
mov dword [0x101f7b80], esi
mov dword [esp], 0x101f7b5c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0x100a73ee
push 0x101f7a88
mov dword [0x101f7a80], eax
call sym.mono.dll_mono_profiler_install
push 0x10213
call sym.mono.dll_mono_profiler_set_events
push 0x100a73d0
call fcn.10064947
push 0x100a76f1
push esi
push 0x100a76c2
push esi
call sym.mono.dll_mono_profiler_install_appdomain
push 0x100a75ef
push 0x100a7402
call sym.mono.dll_mono_profiler_install_thread
push 0x100a1daf
push 0x100a1d74
call fcn.100640ef
push esi
push 0x100a7759
push 0x100a1df3
push esi
call sym.mono.dll_mono_profiler_install_assembly
add esp, 0x40
push 0x100a84e7
call sym.mono.dll_mono_profiler_install_jit_end
mov dword [esp], 0x100a1e11
push 0x100a8974
call fcn.100640b5
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
push esi
push esi
mov dword [0x101f7a90], eax
call sym.mono.dll_mono_g_hash_table_new
push esi
push 4
push 0x101f7a98
mov dword [0x101f7a98], eax
call fcn.1001410e
push 2
push esi
push esi
call sym.mono.dll_mono_g_hash_table_new_type
push esi
push 4
push 0x101f7b3c
mov dword [0x101f7b3c], eax
call fcn.1001410e
push 2
push esi
push esi
call sym.mono.dll_mono_g_hash_table_new_type
push esi
push 4
push 0x101f7ae4
mov dword [0x101f7ae4], eax
call fcn.1001410e
add esp, 0x44
push esi
mov edi, fcn.100550ca
push edi
call fcn.10001b98
mov dword [0x101f7b4c], eax
call fcn.10004a27
mov dword [0x101f7ae8], eax
call fcn.10004a27
push esi
push edi
mov dword [0x101f7a78], eax
call fcn.10001b98
mov dword [0x101f7a74], eax
mov eax, dword [0x101f7b14]
mov dword [0x101f7abc], eax
mov eax, dword [0x101f7b34]
mov dword [0x101f7b50], eax
mov eax, dword [0x101f7b18]
add esp, 0x10
mov dword [0x101f7a9c], ebx
cmp eax, esi
je 0x100a8bda
push 0x101aefb0
push eax
call fcn.10109ee6
pop ecx
pop ecx
mov dword [0x101f7a84], eax
cmp eax, esi
jne 0x100a8be7
call fcn.10114f43
push dword [eax]
call fcn.10115e1f
pop ecx
push eax
push dword [0x101f7b18]
push str.Unable_to_create_log_file__s:__s._n
call fcn.101162e9
add eax, 0x40
push eax
call fcn.1011305a
push ebx
call fcn.10109e62
add esp, 0x14
jmp 0x100a8be7
call fcn.101162e9
add eax, 0x20
mov dword [0x101f7a84], eax
call fcn.100a0db8
call fcn.100a0c6f
call fcn.100a1e48
call fcn.100a10f5
call fcn.100ef9b8
mov dword [eax + 0x28], ebx
call fcn.100ef9b8
push 0x80
mov dword [eax + 0x14], ebx
call fcn.100f001d
pop ecx
cmp dword [0x101f7b24], esi
jne 0x100a8c2d
cmp dword [0x101f7b28], esi
jne 0x100a8c2d
push ebx
call fcn.100a5e29
pop ecx
pop edi
pop ebx
pop esi
ret

Function at 0x100b35d1
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.100f2361
Function at 0x100e942e
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x90], eax
call fcn.100ee1cf
mov dword [ebp - 0x80], eax
test ebx, ebx
jne 0x100e947f
push dword [0x101f5580]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
test esi, esi
je 0x100e948d
push 9
pop ecx
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
jmp 0x100e94ab
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
mov dword [ebp - 0x84], ebp
mov eax, dword [ebp - 0x84]
mov dword [ebp - 8], sym.mono.dll_mono_walk_stack
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
jmp 0x100e9516
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x80]
push eax
push 0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
lea eax, [ebp - 0x7c]
push eax
push ebx
push dword [ebp - 0x88]
call fcn.100e9235
add esp, 0x28
test eax, eax
je 0x100e951a
cmp eax, 0xffffffff
je 0x100e951a
push dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x88]
call dword [ebp - 0x8c]
add esp, 0x10
test eax, eax
jne 0x100e951a
mov eax, dword [ebp - 0x38]
push 9
pop ecx
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
cmp eax, dword [ebx]
jb 0x100e94b0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret
Function at 0x100e9529
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x90], eax
call sym.mono.dll_mono_domain_get
push dword [0x101f5580]
mov dword [ebp - 0x8c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x88], eax
call fcn.100ee1cf
mov dword [ebp - 0x84], eax
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
test esi, esi
je 0x100e9589
push 9
pop ecx
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
jmp 0x100e95a1
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
mov dword [ebp - 0x80], ebp
mov eax, dword [ebp - 0x80]
mov dword [ebp - 8], fcn.100e9529
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
jmp 0x100e965b
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
push eax
push 0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
call fcn.100e9235
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x100e9604
push 0x1019ba3c
push 0x2af
push 0x101b9fa4
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push eax
call fcn.100010d9
add esp, 0x18
or edi, 0xffffffff
cmp esi, edi
je 0x100e9669
cmp dword [ebp + 0x10], 0
je 0x100e9632
push dword [ebp - 0x8c]
push dword [ebp - 0x80]
push dword [esi]
call sym.mono.dll_mono_debug_lookup_source_location
add esp, 0xc
test eax, eax
je 0x100e962b
mov edi, dword [eax + 0xc]
push eax
call sym.mono.dll_mono_debug_free_source_location
pop ecx
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push edi
push dword [ebp - 0x80]
push dword [esi]
call ebx
add esp, 0x14
test eax, eax
jne 0x100e9669
mov eax, dword [ebp - 0x38]
push 9
pop ecx
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x88]
cmp eax, dword [ecx]
jb 0x100e95a9
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret
Function at 0x100ea331
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
call sym.mono.dll_mono_domain_get
push dword [0x101f5580]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x80], eax
call fcn.100ee1cf
push 9
pop ecx
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
push esi
push esi
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
push esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x28]
push eax
push esi
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x80]
push ebx
call fcn.100e9235
mov edi, eax
add esp, 0x28
cmp edi, esi
je 0x100ea3f6
cmp edi, 0xffffffff
je 0x100ea3f6
cmp dword [0x101f7d14], esi
jne 0x100ea3b5
call fcn.100e8638
mov dword [0x101f7d14], eax
mov ebx, 0x7fff
mov dword [ebp - 0x80], esi
test dword [edi + 0x14], ebx
jbe 0x100ea3f6
lea esi, [edi + 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi - 4], eax
ja 0x100ea3e6
cmp eax, dword [esi]
jae 0x100ea3e6
test byte [esi - 0xc], 2
je 0x100ea3e6
push dword [esi + 4]
lea eax, [ebp - 0x28]
push eax
call dword [0x101f7d14]
pop ecx
pop ecx
mov eax, dword [edi + 0x14]
inc dword [ebp - 0x80]
and eax, ebx
add esi, 0x18
cmp dword [ebp - 0x80], eax
jb 0x100ea3c5
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret

Function at 0x100ea42f
Capabilities:
Get thread local storage value

Disassembly:
push edi
push dword [0x101f5580]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [0x101f7d18], 0
mov edi, eax
jne 0x100ea4bf
call fcn.100ef9b8
cmp dword [eax + 0x1c], 0
je 0x100ea469
push str.Received_SIGSEGV__suspending...
call fcn.101162e9
add eax, 0x40
push eax
call fcn.1011305a
pop ecx
pop ecx
jmp 0x100ea467
mov dword [0x101f7d18], 1
test edi, edi
je 0x100ea4b9
call sym.mono.dll_mono_thread_current
test eax, eax
je 0x100ea4b9
push str.Stacktrace:_n_n
call fcn.101162e9
add eax, 0x40
push eax
call fcn.1011305a
call fcn.101162e9
add eax, 0x40
push eax
push 1
push 0x100e8f2e
call fcn.100e9678
call fcn.101162e9
add eax, 0x40
push eax
call fcn.10118084
add esp, 0x18
pop edi
jmp fcn.10112ed8
pop edi
ret
Function at 0x100ec0ef
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
call sym.mono.dll_mono_domain_get
push dword [0x101f5580]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [eax + 8]
push 0x4c
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x50]
push 0
push eax
call fcn.10112fe0
push dword [ebx + 0x20]
push dword [ebp - 0x54]
call sym.mono.dll_mono_jit_info_table_find
add esp, 0x14
push 9
pop ecx
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x58]
mov esi, ebx
lea edi, [ebp - 0x4c]
rep movsd dword es:[edi], dword [esi]
call sym.mono.dll_mono_thread_current
push eax
push 0
push ebx
push dword [ebp - 0x54]
push 0x100ec053
call fcn.100e9690
lea eax, [ebp - 0x28]
push ebx
push eax
call fcn.100f9e37
push ebx
call dword [0x101f9220]
mov ecx, dword [ebp - 4]
add esp, 0x28
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret

Function at 0x100ee26f
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push dword [0x101f5580]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x100ee2c8
push esi
push 0x58
call fcn.10001a71
pop ecx
mov esi, eax
push esi
push dword [0x101f5580]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 8]
push 0x24
mov dword [esi], eax
call fcn.10001a71
or dword [eax + 0x1c], 0xffffffff
push esi
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
call fcn.100fd7d2
push esi
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
add esp, 0xc
mov eax, esi
pop esi
pop ebp
ret

Function at 0x100f0408
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [0x101f5580]
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
call esi
test eax, eax
je 0x100f0420
add eax, 8
pop esi
ret
push 0
call sym.mono.dll_mono_jit_thread_attach
pop ecx
push dword [0x101f5580]
call esi
test eax, eax
jne 0x100f041b
push 0x8c4
push str...monominimini.c
push str._Assertion:_should_not_be_reached_at__s:_d_n
push 4
push eax
call fcn.100010d9
add esp, 0x14
xor eax, eax
pop esi
ret
Function at 0x100f9fdf
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push edi
push dword [0x101f5580]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x14]
and dword [ebp - 4], 0
add eax, 0x34
push eax
push esi
call fcn.100f9e37
cmp dword [ebp + 0x10], 0
pop ecx
pop ecx
je 0x100fa02e
push str._test_only
push 0x4a4
push 0x101bdee4
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push 0
call fcn.100010d9
add esp, 0x18
mov eax, dword [ebp + 0xc]
mov dword [esi], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [0x101f7f14]
add edi, 0xfffffff0
and edi, 0xfffffff0
mov dword [esi + 0x20], eax
mov dword [esi + 0x14], edi
xor eax, eax
pop edi
mov dword [esi + 0xc], 0x100f9e76
inc eax
pop esi
leave
ret
Function at 0x1010c3de
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
cmp dword [0x101f8064], esi
je 0x1010c407
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 8], eax
call fcn.1010d9e7
mov eax, dword [0x10384618]
xor ecx, ecx
inc ecx
mov dword [0x101f8008], ecx
cmp eax, esi
je 0x1010c422
push ecx
call eax
pop ecx
cmp dword [0x101f8064], esi
je 0x1010c463
mov eax, dword [0x101f7ff8]
push esi
push esi
push esi
push esi
push esi
inc eax
push eax
push str.____Marking_for_collection__lu
call fcn.1010d502
mov eax, dword [0x10369fa8]
push esi
push esi
push esi
shl eax, 2
push esi
push eax
mov eax, dword [0x10369fa4]
shl eax, 2
push eax
push str.after__lu_allocd_bytes___lu_wasted_bytes_n
call fcn.1010d502
add esp, 0x38
push esi
push esi
push esi
push esi
push esi
push esi
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
add esp, 0x18
call fcn.1010dfe1
xor edi, edi
jmp 0x1010c489
lea eax, [ebp - 0xc]
push eax
call fcn.1010ef39
pop ecx
test eax, eax
jne 0x1010c4d2
inc edi
call ebx
test eax, eax
je 0x1010c47a
cmp dword [0x101f8064], esi
je 0x1010c4ba
push esi
push esi
push esi
push esi
push esi
push esi
push str.Abandoned_stopped_marking_after
call fcn.1010d502
push esi
push esi
push esi
push esi
push esi
push edi
push str._lu_iterations_n
call fcn.1010d502
add esp, 0x38
mov dword [0x101f8024], edi
mov dword [0x101f8008], esi
call fcn.1010db20
xor eax, eax
jmp 0x1010c577
inc dword [0x101f7ff8]
cmp dword [0x101f8064], esi
je 0x1010c529
mov eax, dword [0x101f7ff8]
push esi
push esi
push esi
push esi
push esi
dec eax
push eax
push str.Collection__lu_finished
call fcn.1010d502
add esp, 0x1c
cmp dword [0x101f8064], esi
je 0x1010c529
push esi
push esi
push esi
push esi
push esi
push dword [0x10369f80]
push str.______heapsize___lu_bytes_n
call fcn.1010d502
push esi
push esi
push esi
push esi
push esi
push esi
push 0x101cfa47
call fcn.1010d502
add esp, 0x38
cmp dword [0x101f8040], esi
je 0x1010c537
call dword [0x101f8044]
mov eax, dword [0x10384618]
cmp eax, esi
je 0x1010c545
push 2
call eax
pop ecx
mov dword [0x101f8008], esi
call fcn.1010db20
cmp dword [0x101f8064], esi
je 0x1010c574
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 8]
push esi
push esi
push esi
push esi
push esi
push eax
push str.World_stopped_marking_took__lu_msecs_n
call fcn.1010d502
add esp, 0x1c
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret