Function at 0x100037d0
Capabilities:
Print debug messages

Disassembly:
sub esp, 0xc
mov al, byte [0x1000f520]
mov ecx, dword [0x1000f514]
push ebx
push ebp
mov byte [esp + 8], al
mov eax, dword [0x1000f1a4]
xor ebp, ebp
push esi
cmp eax, ebp
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ecx
jne 0x10003925
mov eax, dword [0x1000f148]
xor ebx, ebx
cmp eax, ebp
mov dword [0x1000f1a4], ebp
jne 0x100038e8
mov esi, dword [0x1000f154]
cmp esi, ebp
je 0x1000391d
cmp byte [esi], 0
je 0x1000391d
cmp dword [0x1000f14c], ebp
jne 0x1000391d
cmp esi, ebp
jne 0x100038a5
je 0x10003891
cmp byte [esi], 0
je 0x10003891
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebp, [eax + 2]
push ebp
call fcn.10003fd9
mov edi, eax
add esp, 4
test edi, edi
mov dword [0x1000f154], edi
je 0x10003882
mov ecx, ebp
xor eax, eax
mov edx, ecx
push esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [0x1000f154]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ebp, ebp
jmp 0x1000389c
push str.CLateLoadBase::dll_LoadLibrary___Unable_to_allocate_memory_for_a_string_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor ebp, ebp
jmp 0x1000389c
push str.CLateLoadBase::dll_LoadLibrary___We_need_a_valid_pszLibrary_string
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1000f148]
cmp eax, ebp
jne 0x100038e8
push esi
mov dword [0x1000f14c], ebp
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebp
mov dword [0x1000f148], eax
jne 0x100038e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebp
mov dword [0x1000f14c], eax
jne 0x100038df
push str.Wow__that_should_NOT_have_happened___Could_you_tell_JED_how_you_did_it_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [0x1000f14c], 0x20000000
mov eax, dword [0x1000f148]
cmp eax, ebp
je 0x10003917
push 0x1000c3f8
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov esi, dword [0x1000f154]
mov eax, dword [0x1000f148]
xor ecx, ecx
cmp ebx, ebp
mov dword [0x1000f1a0], ebx
setne cl
inc ecx
mov dword [0x1000f1a4], ecx
jmp 0x10003930
mov esi, dword [0x1000f154]
mov dword [0x1000f1a0], ebx
jmp 0x10003930
mov esi, dword [0x1000f154]
mov eax, dword [0x1000f148]
cmp dword [0x1000f1a4], 2
jne 0x10003959
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
push ecx
call dword [0x1000f1a0]
mov esi, dword [0x1000f154]
mov eax, dword [0x1000f148]
mov ecx, dword [0x1000f1dc]
mov dl, byte [0x1000f520]
mov ebx, dword [0x1000f514]
cmp ecx, ebp
mov byte [esp + 0x18], dl
jne 0x100039c7
xor edi, edi
cmp eax, ebp
mov dword [0x1000f1dc], ebp
jne 0x100039a6
cmp esi, ebp
je 0x100039c1
cmp byte [esi], 0
je 0x100039c1
cmp dword [0x1000f14c], ebp
jne 0x100039c1
push 1
push esi
mov ecx, 0x1000f148
call fcn.10002730
mov eax, dword [0x1000f148]
cmp eax, ebp
je 0x100039c1
push 0x1000c428
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
xor eax, eax
cmp edi, ebp
setne al
inc eax
mov dword [0x1000f1dc], eax
mov dword [0x1000f1d8], edi
cmp dword [0x1000f1dc], 2
je 0x100039da
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
push ebx
call dword [0x1000f1d8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret