Function at 0x10039510
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x102dbd50]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push esi
push edi
mov edi, 0x102d5d40
test eax, eax
jne 0x10039b65
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
test esi, esi
je 0x10039555
push str.hx_cffi
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x102dbd50], eax
test eax, eax
jne 0x1003955a
push esi
call ebx
mov eax, dword [0x102dbd50]
add edi, 4
cmp edi, 0x102d5d4c
jl 0x10039526
test eax, eax
jne 0x10039b65
lea ebx, [eax + 1]
cmp byte [0x102dbde2], al
jne 0x10039ade
cmp byte [0x102dbde1], al
mov eax, dword [0x102dbd54]
je 0x1003959d
test eax, eax
jne 0x1003959d
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
jmp 0x100395f2
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [0x102dbde1], bl
test eax, eax
jne 0x100395dd
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x100395dd
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 8
xor ecx, ecx
jmp 0x100395ed
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.neko_alloc_private
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd94], ecx
je 0x10039609
test eax, eax
jne 0x10039609
xor ecx, ecx
jmp 0x1003964c
mov byte [0x102dbde1], bl
test eax, eax
jne 0x1003963d
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x1003963d
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039647
push str.neko_alloc_object
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd80], ecx
je 0x10039663
test eax, eax
jne 0x10039663
xor ecx, ecx
jmp 0x100396a6
mov byte [0x102dbde1], bl
test eax, eax
jne 0x10039697
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x10039697
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x100396a1
push str.neko_alloc_string
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd84], ecx
je 0x100396bd
test eax, eax
jne 0x100396bd
xor ecx, ecx
jmp 0x10039700
mov byte [0x102dbde1], bl
test eax, eax
jne 0x100396f1
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x100396f1
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x100396fb
push str.neko_val_call1
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd88], ecx
je 0x10039717
test eax, eax
jne 0x10039717
xor ecx, ecx
jmp 0x1003975a
mov byte [0x102dbde1], bl
test eax, eax
jne 0x1003974b
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x1003974b
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039755
push str.neko_val_field
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd8c], ecx
je 0x10039771
test eax, eax
jne 0x10039771
xor ecx, ecx
jmp 0x100397b4
mov byte [0x102dbde1], bl
test eax, eax
jne 0x100397a5
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x100397a5
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x100397af
push str.neko_alloc_root
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd90], ecx
je 0x100397cb
test eax, eax
jne 0x100397cb
xor ecx, ecx
jmp 0x1003980e
mov byte [0x102dbde1], bl
test eax, eax
jne 0x100397ff
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x100397ff
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039809
push str.neko_copy_string
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd98], ecx
je 0x10039825
test eax, eax
jne 0x10039825
xor ecx, ecx
jmp 0x10039868
mov byte [0x102dbde1], bl
test eax, eax
jne 0x10039859
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x10039859
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039863
push str.neko_val_id
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbd9c], ecx
je 0x1003987f
test eax, eax
jne 0x1003987f
xor ecx, ecx
jmp 0x100398c2
mov byte [0x102dbde1], bl
test eax, eax
jne 0x100398b3
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x100398b3
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x100398bd
push str.neko_alloc_buffer
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbda0], ecx
je 0x100398d9
test eax, eax
jne 0x100398d9
xor ecx, ecx
jmp 0x1003991c
mov byte [0x102dbde1], bl
test eax, eax
jne 0x1003990d
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x1003990d
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039917
push str.neko_buffer_to_string
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbda4], ecx
je 0x10039933
test eax, eax
jne 0x10039933
xor ecx, ecx
jmp 0x10039976
mov byte [0x102dbde1], bl
test eax, eax
jne 0x10039967
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x10039967
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039971
push str._neko_failure
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbda8], ecx
je 0x1003998d
test eax, eax
jne 0x1003998d
xor ecx, ecx
jmp 0x100399d0
mov byte [0x102dbde1], bl
test eax, eax
jne 0x100399c1
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x100399c1
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x100399cb
push str.neko_buffer_append_sub
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbdac], ecx
je 0x100399e7
test eax, eax
jne 0x100399e7
xor ecx, ecx
jmp 0x10039a2a
mov byte [0x102dbde1], bl
test eax, eax
jne 0x10039a1b
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x10039a1b
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039a25
push str.neko_alloc_array
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbdb0], ecx
je 0x10039a41
test eax, eax
jne 0x10039a41
xor ecx, ecx
jmp 0x10039a84
mov byte [0x102dbde1], bl
test eax, eax
jne 0x10039a75
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x10039a75
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor ecx, ecx
jmp 0x10039a7f
push str.neko_val_gc
push eax
call esi
mov ecx, eax
mov eax, dword [0x102dbd54]
cmp byte [0x102dbde1], 0
mov dword [0x102dbdb4], ecx
je 0x10039a97
test eax, eax
je 0x10039ad3
mov byte [0x102dbde1], bl
test eax, eax
jne 0x10039acb
push str.neko.dll
call edi
mov dword [0x102dbd54], eax
test eax, eax
jne 0x10039acb
push str.Could_not_link_to_neko._n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 8
xor eax, eax
jmp 0x10039ad3
push str.neko_val_ocall1
push eax
call esi
mov dword [0x102dbdb8], eax
mov byte [0x102dbde2], bl
mov eax, dword [0x102dbd9c]
test eax, eax
je 0x10039b3b
push 0x10257f9c
call eax
push 0x10257f98
mov dword [0x102dbd58], eax
call dword [0x102dbd9c]
push 0x10257f94
mov dword [0x102dbd5c], eax
call dword [0x102dbd9c]
push str.length
mov dword [0x102dbd60], eax
call dword [0x102dbd9c]
push str.push
mov dword [0x102dbd64], eax
call dword [0x102dbd9c]
mov dword [0x102dbd68], eax
add esp, 0x14
mov eax, 0x100385d0
mov dword [0x102dbd50], eax
test eax, eax
jne 0x10039b65
push 0x27e
push str.Could_not_link_plugin_to_process__hxCFFILoader.h__d__n
call fcn.102311d7
add eax, 0x40
push eax
call fcn.102310cb
add esp, 0xc
push ebx
call fcn.10233989
pop edi
pop esi
pop ebx
pop ebp
jmp eax