Function at 0x10003510
Capabilities:
Print debug messages

Disassembly:
sub esp, 8
mov eax, dword [0x1000f46c]
push ebx
mov ebx, dword [0x1000f510]
push ebp
xor ebp, ebp
push esi
cmp eax, ebp
push edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
jne 0x100035aa
mov eax, dword [0x1000f250]
xor edi, edi
cmp eax, ebp
mov dword [0x1000f46c], ebp
jne 0x1000356e
mov esi, dword [0x1000f25c]
cmp esi, ebp
je 0x100035a2
cmp byte [esi], 0
je 0x100035a2
cmp dword [0x1000f254], ebp
jne 0x100035a2
push 1
push esi
mov ecx, 0x1000f250
call fcn.10002730
mov eax, dword [0x1000f250]
cmp eax, ebp
je 0x1000359c
push str.UDLL_GetHiddenArea2Size
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
xor eax, eax
mov esi, dword [0x1000f25c]
cmp edi, ebp
setne al
inc eax
mov dword [0x1000f468], edi
mov dword [0x1000f46c], eax
mov eax, dword [0x1000f250]
jmp 0x100035b5
mov esi, dword [0x1000f25c]
mov dword [0x1000f468], edi
jmp 0x100035b5
mov esi, dword [0x1000f25c]
mov eax, dword [0x1000f250]
cmp dword [0x1000f46c], 2
jne 0x100035d5
lea ecx, [esp + 0x10]
push ecx
push ebx
call dword [0x1000f468]
mov esi, dword [0x1000f25c]
mov eax, dword [0x1000f250]
mov ecx, dword [0x1000f39c]
mov ebx, dword [0x1000f510]
cmp ecx, ebp
jne 0x1000364d
xor edi, edi
cmp eax, ebp
mov dword [0x1000f39c], ebp
jne 0x10003618
cmp esi, ebp
je 0x10003647
cmp byte [esi], 0
je 0x10003647
cmp dword [0x1000f254], ebp
jne 0x10003647
push 1
push esi
mov ecx, 0x1000f250
call fcn.10002730
mov eax, dword [0x1000f250]
cmp eax, ebp
je 0x10003641
push str.UDLL_WriteHiddenArea2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
mov esi, dword [0x1000f25c]
mov eax, dword [0x1000f250]
xor edx, edx
cmp edi, ebp
setne dl
inc edx
mov dword [0x1000f39c], edx
jmp 0x10003647
mov esi, dword [0x1000f25c]
mov dword [0x1000f398], edi
cmp dword [0x1000f39c], 2
je 0x1000365c
mov dword [esp + 0x24], ebp
jmp 0x10003689
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push ebx
call dword [0x1000f398]
cmp eax, ebp
mov dword [esp + 0x24], eax
jne 0x100037bb
mov esi, dword [0x1000f25c]
mov eax, dword [0x1000f250]
mov ecx, dword [0x1000f510]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x1000f3dc]
cmp ecx, ebp
jne 0x100037a3
xor ebx, ebx
cmp eax, ebp
mov dword [0x1000f3dc], ebp
jne 0x10003781
cmp esi, ebp
je 0x1000379d
cmp byte [esi], 0
je 0x1000379d
cmp dword [0x1000f254], ebp
jne 0x1000379d
cmp esi, ebp
jne 0x1000373e
je 0x1000372a
cmp byte [esi], 0
je 0x1000372a
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 [0x1000f25c], edi
je 0x1000371b
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 [0x1000f25c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ebp, ebp
jmp 0x10003735
push str.CLateLoadBase::dll_LoadLibrary___Unable_to_allocate_memory_for_a_string_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor ebp, ebp
jmp 0x10003735
push str.CLateLoadBase::dll_LoadLibrary___We_need_a_valid_pszLibrary_string
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1000f250]
cmp eax, ebp
jne 0x10003781
push esi
mov dword [0x1000f254], ebp
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebp
mov dword [0x1000f250], eax
jne 0x10003781
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebp
mov dword [0x1000f254], eax
jne 0x10003778
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 [0x1000f254], 0x20000000
mov eax, dword [0x1000f250]
cmp eax, ebp
je 0x1000379d
push str.UDLL_GetLastError
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
xor ecx, ecx
cmp ebx, ebp
setne cl
inc ecx
mov dword [0x1000f3dc], ecx
mov dword [0x1000f3d8], ebx
cmp dword [0x1000f3dc], 2
jne 0x100037b7
mov edx, dword [esp + 0x20]
push edx
call dword [0x1000f3d8]
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret