Function at 0x100f2361
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
xor esi, esi
cmp dword [0x101f7dcc], esi
jne 0x100f237f
push esi
call sym.mono.dll_mono_parse_default_optimizations
pop ecx
mov dword [0x101f7dc8], eax
push 0x101f7d9c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor ebx, ebx
inc ebx
push ebx
call fcn.1007f854
pop ecx
cmp dword [0x101f7dec], esi
jne 0x100f23a6
call sym.mono.dll_mono_code_manager_new
mov dword [0x101f7dec], eax
push edi
push esi
push sym.mono.dll_g_free
push fcn.1000231d
push fcn.10002334
call fcn.10001bed
mov dword [0x101f7df0], eax
xor eax, eax
lea edi, [ebp - 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0xc], fcn.100ef9be
mov dword [ebp - 8], sym.mono.dll_mono_get_inflated_method
mov dword [ebp - 4], fcn.100f002d
call fcn.1005cd9e
call fcn.100fa9d7
call fcn.100fa9e9
call fcn.100f8fe4
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
push str.MONO_DEBUG
call fcn.10113e14
add esp, 0x18
test eax, eax
je 0x100f2411
call fcn.100ef807
mov edi, str.MONO_XDEBUG
push edi
call fcn.10113e14
pop ecx
test eax, eax
je 0x100f2430
push edi
call fcn.10113e14
push eax
call fcn.10093fc3
pop ecx
jmp 0x100f2444
call fcn.100ef9b8
cmp dword [eax + 0x24], esi
je 0x100f2451
push 0x101ae8b0
call fcn.10093fc3
mov dword [0x101f7d98], ebx
mov dword [0x101f9cd4], ebx
pop ecx
call fcn.100eae45
call fcn.100143a8
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
push 0x100ee240
push 0xffffffffffffffff
mov dword [0x101f5580], eax
call fcn.100ee26f
test dword [0x101f7dc8], 0x10000
pop ecx
pop ecx
je 0x100f2485
call fcn.10099547
call fcn.100a8a09
push ebx
call fcn.10016c5d
call fcn.100ebf38
mov dword [esp], 0x100ee35c
call sym.mono.dll_mono_threads_install_cleanup
mov dword [esp], fcn.100f2060
call fcn.1005ce31
mov dword [esp], 0x100ef3c2
call fcn.1005ce75
mov dword [esp], fcn.100eb221
call fcn.1005cdb8
mov dword [esp], fcn.100eb090
call fcn.1005cdd3
mov dword [esp], 0x100ef749
call fcn.1005cdee
mov dword [esp], fcn.100eb26b
call fcn.1005ce09
mov dword [esp], 0x100f22d1
call fcn.10027832
mov dword [esp], 0x100efa1e
call fcn.1002783f
mov dword [esp], 0x100f20b5
call fcn.1005e2e8
mov dword [esp], fcn.100e9678
call fcn.100386a2
mov dword [esp], 0x1009967b
call fcn.10016612
mov dword [esp], 0x100996c6
call fcn.10016630
mov dword [esp], 0x10099e3b
call fcn.100277c2
pop ecx
cmp dword [0x101f7d70], esi
je 0x100f254d
push ebx
call fcn.1009ae89
pop ecx
cmp dword [ebp + 0xc], esi
je 0x100f255f
push dword [ebp + 0xc]
push dword [ebp + 8]
call sym.mono.dll_mono_init_version
jmp 0x100f256a
push dword [ebp + 8]
push dword [ebp + 8]
call sym.mono.dll_mono_init_from_assembly
pop ecx
mov dword [ebp + 0xc], eax
pop ecx
cmp dword [0x101f7ddc], esi
je 0x100f2580
push dword [eax + 0x1c]
call fcn.100076c6
pop ecx
cmp dword [0x101f5584], esi
je 0x100f25ba
cmp dword [0x101f7ddc], esi
je 0x100f2597
push 0x1009adbc
jmp 0x100f259c
push 0x100fd850
call fcn.1005ce24
pop ecx
call fcn.100ef7e5
push eax
call fcn.1005d16a
call fcn.100ef7c3
push eax
call fcn.1005d15d
pop ecx
pop ecx
call fcn.100e903d
call fcn.100e85e0
push eax
call fcn.1005e8a6
call fcn.100355c4
mov dword [esp], 0x100e97bf
push str.System.Diagnostics.StackFrame::get_frame_info
call sym.mono.dll_mono_add_internal_call
push 0x100e8a34
push str.System.Diagnostics.StackTrace::get_trace
call sym.mono.dll_mono_add_internal_call
push fcn.100e8945
push str.System.Exception::get_trace
call sym.mono.dll_mono_add_internal_call
push 0x100e9a0a
push str.System.Security.SecurityFrame::_GetSecurityFrame
call sym.mono.dll_mono_add_internal_call
push 0x100e9a70
push str.System.Security.SecurityFrame::_GetSecurityStack
call sym.mono.dll_mono_add_internal_call
push fcn.100ebf38
push str.Mono.Runtime::mono_runtime_install_handlers
call sym.mono.dll_mono_add_internal_call
call fcn.100ed351
call fcn.10049d63
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
push ebx
push esi
push str.mono_profiler_method_enter
push 0x10064268
call fcn.100edec3
add esp, 0x40
push ebx
push esi
push str.mono_profiler_method_leave
push 0x1006429a
call fcn.100edec3
push ebx
push esi
push str.mono_trace_enter_method
push 0x100f8528
call fcn.100edec3
push ebx
push esi
push str.mono_trace_leave_method
push 0x100f8948
call fcn.100edec3
push ebx
push 0x10162f24
push str.mono_get_lmf_addr
push fcn.100f0408
call fcn.100edec3
add esp, 0x40
push ebx
mov edi, str.void
push edi
push 0x101bc040
push sym.mono.dll_mono_jit_thread_attach
call fcn.100edec3
push ebx
push 0x10162f24
push 0x101bc030
push sym.mono.dll_mono_domain_get
call fcn.100edec3
add esp, 0x20
push ebx
push str.void_object
push str.mono_arch_throw_exception
call fcn.100e85e0
push eax
call fcn.100edec3
add esp, 0x10
push ebx
push str.void_object
push str.mono_arch_rethrow_exception
call fcn.100e860c
push eax
call fcn.100edec3
add esp, 0x10
push ebx
push str.void_ptr
push str.mono_arch_throw_exception_by_name
call fcn.100e8690
push eax
call fcn.100edec3
add esp, 0x10
push ebx
push str.void_ptr
push str.mono_arch_throw_corlib_exception
call fcn.100e86cc
push eax
call fcn.100edec3
push esi
push str.object
push str.mono_thread_get_undeniable_exception
push 0x1007f1cd
call fcn.100edec3
push esi
push edi
push 0x1019bbbc
push sym.mono.dll_mono_thread_interruption_checkpoint
call fcn.100edec3
push esi
push edi
push 0x101afa40
push sym.mono.dll_mono_thread_force_interruption_checkpoint
call fcn.100edec3
add esp, 0x40
push esi
push str.object_object_ptr_ptr
push 0x101bbf54
push sym.mono.dll_mono_load_remote_field_new
call fcn.100edec3
push esi
push str.void_object_ptr_ptr_object
push 0x101bbf1c
push sym.mono.dll_mono_store_remote_field_new
call fcn.100edec3
push ebx
push 0x100b6776
mov edi, str.long_long_long
push edi
push str.__emul_lmul
push 0x1e3
call fcn.100ede30
push esi
push 0x100b6973
push edi
push str.__emul_ldiv
push 0x1e4
call fcn.100ede30
add esp, 0x48
push esi
push 0x100b6a09
push edi
push str.__emul_ldiv_un
push 0x1e5
call fcn.100ede30
push esi
push 0x100b69be
push edi
push str.__emul_lrem
push 0x1e6
call fcn.100ede30
push esi
push 0x100b6a33
push edi
push str.__emul_lrem_un
push 0x1e7
call fcn.100ede30
push esi
push 0x100b678c
push edi
push str.__emul_lmul_ovf_un
push 0x200
call fcn.100ede30
add esp, 0x50
push esi
push 0x100b680a
push edi
push str.__emul_lmul_ovf
push 0x1ff
call fcn.100ede30
push esi
push 0x100b6e1f
push str.ulong_double
push str.__emul_fconv_to_u8
push 0x2a9
call fcn.100ede30
push esi
push 0x100b6e1f
mov edi, str.uint32_double
push edi
push str.__emul_fconv_to_u4
push 0x2a8
call fcn.100ede30
push esi
push 0x100b6e2b
push str.long_double
push str.__emul_fconv_to_ovf_i8
push 0x2c5
call fcn.100ede30
add esp, 0x50
push esi
push 0x100b6e93
push str.ulong_double
push str.__emul_fconv_to_ovf_u8
push 0x2c6
call fcn.100ede30
push ebx
push 0x100b6e1f
push edi
push str.__emul_fconv_to_u
push 0x2d1
call fcn.100ede30
push esi
push str.void_object_object_ptr
push str.mono_delegate_ctor
push 0x1005f687
call fcn.100edec3
push esi
push str.ptr_ptr_ptr
push str.mono_class_static_field_address
push 0x100b6d37
call fcn.100edec3
add esp, 0x48
push esi
mov edi, str.ptr_ptr_ptr_ptr
push edi
push str.mono_ldtoken_wrapper
push fcn.100b6d93
call fcn.100edec3
push esi
push edi
push str.mono_ldtoken_wrapper_generic_shared
push 0x100b6dbc
call fcn.100edec3
push esi
push str.ptr_int
push 0x101bbd60
push sym.mono.dll_mono_get_special_static_data
call fcn.100edec3
push esi
mov edi, str.object_ptr_ptr_int32
push edi
push 0x101bbd3c
push sym.mono.dll_mono_ldstr
call fcn.100edec3
add esp, 0x40
push esi
push str.void_object_object
push str.helper_stelem_ref_check
push 0x100b6736
call fcn.100edec3
push esi
push str.object_ptr_ptr
push 0x101bbd14
push sym.mono.dll_mono_object_new
call fcn.100edec3
push esi
push str.object_ptr
push 0x101bbcf8
push sym.mono.dll_mono_object_new_specific
call fcn.100edec3
push esi
push edi
push 0x101bbce8
push sym.mono.dll_mono_array_new
call fcn.100edec3
add esp, 0x40
push esi
push str.object_ptr_int32
push 0x101bbcd0
push sym.mono.dll_mono_array_new_specific
call fcn.100edec3
push esi
push str.void_ptr
push 0x101bbcb8
push sym.mono.dll_mono_runtime_class_init
call fcn.100edec3
push esi
push str.ptr_ptr
push str.mono_ldftn
push fcn.100b6653
call fcn.100edec3
push esi
mov edi, str.ptr_object_ptr
push edi
push str.mono_ldvirtfn
push 0x100b670c
call fcn.100edec3
add esp, 0x40
push esi
push edi
push str.mono_ldvirtfn_gshared
push 0x100b6721
call fcn.100edec3
push esi
push str.ptr_object_ptr_ptr
push str.compile_generic_method
push 0x100b6f1d
call fcn.100edec3
push esi
push str.object_ptr_int
push str.helper_ldstr
push 0x100b7023
call fcn.100edec3
push esi
mov edi, str.object_int
push edi
push str.helper_ldstr_mscorlib
push 0x100b703c
call fcn.100edec3
add esp, 0x40
push esi
push edi
push str.helper_newobj_mscorlib
push 0x100b7058
call fcn.100edec3
push esi
push str.void_ptr_ptr_ptr
push 0x101bbbf8
push sym.mono.dll_mono_value_copy
call fcn.100edec3
push esi
push str.object_object_ptr
push str.mono_object_castclass
push 0x100b70f4
call fcn.100edec3
push ebx
push esi
push str.mono_break
push sym.mono.dll_mono_gc_wbarrier_arrayref_copy
call fcn.100edec3
add esp, 0x40
push ebx
push edi
push str.mono_create_corlib_exception_0
push 0x100b70a8
call fcn.100edec3
push ebx
push str.object_int_object
push str.mono_create_corlib_exception_1
push 0x100b70bd
call fcn.100edec3
push ebx
push str.object_int_object_object
push str.mono_create_corlib_exception_2
push 0x100b70d8
call fcn.100edec3
push esi
push str.object_ptr_int
push str.mono_array_new_1
push 0x100b6b30
call fcn.100edec3
add esp, 0x40
push esi
push str.object_ptr_int_int
push str.mono_array_new_2
push 0x100b6bd7
call fcn.100edec3
push esi
push str.object_ptr_int_int_int
push str.mono_array_new_3
push 0x100b6c84
call fcn.100edec3
push esi
push str.ptr_ptr_ptr_ptr
push str.mono_get_native_calli_wrapper
push 0x100b7135
call fcn.100edec3
add esp, 0x30
call sym.mono.dll_mono_gc_wbarrier_arrayref_copy
call fcn.100f2be9
pop edi
cmp dword [0x101f7dd8], esi
je 0x100f2b32
push ebx
call fcn.1000e969
pop ecx
push fcn.100eff26
call sym.mono.dll_mono_install_runtime_cleanup
mov dword [esp], 0x100ee315
push 0x100ee2ca
push dword [ebp + 0xc]
call sym.mono.dll_mono_runtime_init
push dword [ebp + 0xc]
call sym.mono.dll_mono_thread_attach
add esp, 0x10
call fcn.1006495e
mov eax, dword [ebp + 0xc]
pop esi
pop ebx
leave
ret