Function at 0x1000bc20
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x1002f9b0
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x1003a1c0]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push ebp
push esi
mov eax, dword [0x1003a1c0]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov ecx, dword [edi + 0x108]
xor ebx, ebx
cmp ecx, ebx
je 0x1000be0c
mov eax, dword [edi + 0x104]
cmp eax, ebx
je 0x1000bd63
cmp ecx, 1
jne 0x1000bd05
movzx ecx, byte [edi + 0x10c]
push ecx
call fcn.10010540
add esp, 4
cmp eax, ebx
mov dword [edi + 0xf0], eax
je 0x1000bd63
mov eax, dword [edi + 0xfc]
cmp eax, ebx
jle 0x1000c0e1
cmp dword [edi + 0x100], ebx
jle 0x1000bcf5
push 0x10
call fcn.1001e422
mov edx, dword [edi + 0xfc]
add esp, 4
push ebx
push ebx
push eax
push 0x1000c120
mov dword [eax], edx
mov dword [eax + 4], 3
mov ecx, dword [edi + 0x100]
push ebx
push ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
cmp eax, ebx
je 0x1000c0e1
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x1000c0e1
push 3
push eax
call fcn.10014c20
add esp, 8
jmp 0x1000c0e1
cmp ecx, 2
jne 0x1000bd63
mov ebp, 0x10
cmp dword [edi + 0x18], ebp
jb 0x1000bd19
mov ecx, dword [edi + 4]
jmp 0x1000bd1c
lea ecx, [edi + 4]
lea esi, [esp + 0x10]
call fcn.10013380
mov dword [esp + 0x70], ebx
cmp dword [esp + 0x28], ebp
mov ecx, dword [esp + 0x14]
jae 0x1000bd37
lea ecx, [esp + 0x14]
call fcn.100135b0
cmp dword [esp + 0x28], ebp
mov eax, dword [esp + 0x14]
jae 0x1000bd4a
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 0x104]
call fcn.10010790
test al, al
jne 0x1000bd6a
lea ecx, [esp + 0x10]
call fcn.10006190
xor al, al
jmp 0x1000c0e3
cmp dword [edi + 0xd0], ebp
jb 0x1000bd7a
mov esi, dword [edi + 0xbc]
jmp 0x1000bd80
lea esi, [edi + 0xbc]
call fcn.100138d0
cmp eax, ebx
mov dword [edi + 0xf8], eax
je 0x1000bdf3
mov eax, dword [edi + 0xfc]
cmp eax, ebx
jle 0x1000bdf3
cmp dword [edi + 0x100], ebx
jle 0x1000bde8
push ebp
call fcn.1001e422
mov edx, dword [edi + 0xfc]
add esp, 4
push ebx
push ebx
push eax
mov dword [eax], edx
mov dword [eax + 4], 3
mov ecx, dword [edi + 0x100]
push 0x1000c120
mov dword [eax + 8], ecx
mov edx, dword [edi + 0xf8]
push ebx
push ebx
mov dword [eax + 0xc], edx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
cmp eax, ebx
je 0x1000bdf3
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x1000bdf3
push 3
push eax
call fcn.10014c20
add esp, 8
cmp dword [edi + 0xf8], ebx
lea ecx, [esp + 0x10]
setne bl
call fcn.10006190
mov al, bl
jmp 0x1000c0e3
cmp dword [edi + 0xb0], ebx
je 0x1000c0e1
cmp dword [edi + 0xcc], ebx
je 0x1000c0e1
cmp dword [edi + 0xf0], ebx
jne 0x1000c0e1
cmp dword [edi + 0xf8], ebx
jne 0x1000c0e1
mov ebp, 0x10
cmp dword [edi + 0x18], ebp
jb 0x1000be4b
mov ecx, dword [edi + 4]
jmp 0x1000be4e
lea ecx, [edi + 4]
lea esi, [esp + 0x2c]
call fcn.10013380
mov dword [esp + 0x70], 1
cmp dword [esp + 0x44], ebp
mov ecx, dword [esp + 0x30]
jae 0x1000be6d
lea ecx, [esp + 0x30]
call fcn.10013510
test al, al
je 0x1000bf18
mov ebx, 3
cmp dword [edi + 0xb0], ebx
je 0x1000bf18
mov eax, dword [edi + 0xb4]
add eax, 0xffffffff
cmp eax, ebx
ja case.default.0x1000be9c
jmp dword [eax*4 + 0x1000c104]
cmp dword [edi + 0xd0], ebp
jb 0x1000beb3
mov ecx, dword [edi + 0xbc]
jmp 0x1000beb9
lea ecx, [edi + 0xbc]
lea esi, [esp + 0x10]
call fcn.10013380
mov byte [esp + 0x70], 2
cmp dword [esp + 0x28], ebp
mov eax, dword [esp + 0x14]
jae 0x1000bed5
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xor esi, esi
cmp eax, esi
mov dword [edi + 0xf0], eax
je 0x1000bf84
push str.GetBusinessInterface
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
cmp eax, esi
jne 0x1000bf28
mov eax, dword [edi + 0xf0]
push eax
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
lea ecx, [esp + 0x10]
mov dword [edi + 0xf0], esi
call fcn.10006190
lea ecx, [esp + 0x2c]
call fcn.10006190
xor al, al
jmp 0x1000c0e3
call eax
cmp eax, esi
mov dword [edi + 0xf4], eax
jne 0x1000bf60
mov ecx, dword [edi + 0xf0]
push ecx
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
lea ecx, [esp + 0x10]
mov dword [edi + 0xf0], esi
call fcn.10006190
lea ecx, [esp + 0x2c]
call fcn.10006190
xor al, al
jmp 0x1000c0e3
cmp dword [edi + 0xec], ebp
jb 0x1000bf70
mov ecx, dword [edi + 0xd8]
jmp 0x1000bf76
lea ecx, [edi + 0xd8]
mov edx, dword [eax]
push 0x1003c4b8
push ecx
mov ecx, eax
mov eax, dword [edx]
call eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 1
call fcn.10006190
jmp case.default.0x1000be9c
cmp dword [edi + 0xd0], ebp
jb 0x1000bfa7
mov ecx, dword [edi + 0xbc]
jmp 0x1000bfad
lea ecx, [edi + 0xbc]
lea esi, [esp + 0x48]
call fcn.10013380
mov byte [esp + 0x70], bl
cmp dword [esp + 0x60], ebp
mov eax, dword [esp + 0x4c]
jae 0x1000bfc8
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
test eax, eax
mov dword [edi + 0xf0], eax
jne 0x1000bff2
lea ecx, [esp + 0x48]
call fcn.10006190
lea ecx, [esp + 0x2c]
call fcn.10006190
xor al, al
jmp 0x1000c0e3
mov eax, dword [edi + 0xfc]
test eax, eax
jle 0x1000c006
push ebx
push eax
call fcn.10014c20
add esp, 8
lea ecx, [esp + 0x48]
mov byte [esp + 0x70], 1
call fcn.10006190
jmp case.default.0x1000be9c
cmp dword [edi + 0xd0], ebp
jb 0x1000c029
mov esi, dword [edi + 0xbc]
jmp 0x1000c02f
lea esi, [edi + 0xbc]
call fcn.100138d0
test eax, eax
mov dword [edi + 0xf8], eax
je case.default.0x1000be9c
mov eax, dword [edi + 0xfc]
test eax, eax
jle case.default.0x1000be9c
cmp dword [edi + 0x100], 0
jle 0x1000c098
push ebp
call fcn.1001e422
mov ecx, dword [edi + 0xfc]
add esp, 4
push 0
push 0
push eax
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov edx, dword [edi + 0x100]
push 0x1000c120
mov dword [eax + 8], edx
mov ecx, dword [edi + 0xf8]
push 0
push 0
mov dword [eax + 0xc], ecx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
test eax, eax
je case.default.0x1000be9c
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp case.default.0x1000be9c
push ebx
push eax
call fcn.10014c20
add esp, 8
cmp dword [edi + 0xf0], 0
jne 0x1000c0b4
cmp dword [edi + 0xf8], 0
je 0x1000c0d8
cmp dword [edi + 0xb0], 4
jne 0x1000c0d8
push edi
push ecx
mov dword [edi + 0xb0], 0
call fcn.10009400
add esp, 4
mov ecx, eax
call fcn.100055b0
lea ecx, [esp + 0x2c]
call fcn.10006190
mov al, 1
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1001e327
add esp, 0x64
ret