Function at 0x10006ec0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10020118]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push esi
mov esi, dword [ebp + 8]
cmp dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib], eax
jne 0x100070ab
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x20c]
test esi, esi
jne 0x10006f4d
push 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call dword [sym.imp.MSVCR110.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x10006f34
xor ecx, ecx
mov word [eax + 2], cx
push 0x10013454
lea eax, [ebp - 0x20c]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscat_s]
jmp 0x10006fc4
push esi
mov esi, dword [sym.imp.MSVCR110.dll_wcscpy_s]
push 0x104
push eax
call esi
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call dword [sym.imp.MSVCR110.dll_wcsrchr]
add esp, 0x14
test eax, eax
je 0x10006f85
push str.iCommu.dll
push eax
call dword [sym.imp.MSVCR110.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x10006fc7
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10006f90
sub ecx, edx
sar ecx, 1
lea eax, [ebp - 0x20c]
cmp word [ebp + ecx*2 - 0x20e], 0x5c
je 0x10006fb7
push str.iCommu.dll
jmp 0x10006fbc
push 0x10013454
push 0x104
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib], eax
test eax, eax
je 0x100070a8
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ICOM_0001
push eax
call esi
push str.ICOM_0002
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [sym.isafepxy.dll_void___elex::commumod::SCommuMod::m_func], eax
call esi
push str.ICOM_0003
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d10], eax
call esi
push str.ICOM_0004
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d14], eax
call esi
push str.ICOM_0005
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d18], eax
call esi
push str.ICOM_0006
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d1c], eax
call esi
push str.ICOM_0007
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d20], eax
call esi
push str.ICOM_1002
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d24], eax
call esi
push str.ICOM_1004
push dword [sym.isafepxy.dll_struct_HINSTANCE____elex::commumod::SCommuMod::m_hCommuLib]
mov dword [0x10020d28], eax
call esi
mov dword [0x10020d2c], eax
xor eax, eax
cmp dword [eax + sym.isafepxy.dll_void___elex::commumod::SCommuMod::m_func], 0
je 0x100070a8
add eax, 4
cmp eax, 0x24
jb 0x10007086
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000f53c
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1000f53c
mov esp, ebp
pop ebp
ret