Function at 0x10002fd0
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 0x1000306a
mov eax, dword [0x1000f250]
xor edi, edi
cmp eax, ebp
mov dword [0x1000f46c], ebp
jne 0x1000302e
mov esi, dword [0x1000f25c]
cmp esi, ebp
je 0x10003062
cmp byte [esi], 0
je 0x10003062
cmp dword [0x1000f254], ebp
jne 0x10003062
push 1
push esi
mov ecx, 0x1000f250
call fcn.10002730
mov eax, dword [0x1000f250]
cmp eax, ebp
je 0x1000305c
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 0x10003075
mov esi, dword [0x1000f25c]
mov dword [0x1000f468], edi
jmp 0x10003075
mov esi, dword [0x1000f25c]
mov eax, dword [0x1000f250]
cmp dword [0x1000f46c], 2
jne 0x10003095
lea ecx, [esp + 0x10]
push ecx
push ebx
call dword [0x1000f468]
mov esi, dword [0x1000f25c]
mov eax, dword [0x1000f250]
mov ecx, dword [0x1000f3a4]
mov ebx, dword [0x1000f510]
cmp ecx, ebp
jne 0x1000310d
xor edi, edi
cmp eax, ebp
mov dword [0x1000f3a4], ebp
jne 0x100030d8
cmp esi, ebp
je 0x10003107
cmp byte [esi], 0
je 0x10003107
cmp dword [0x1000f254], ebp
jne 0x10003107
push 1
push esi
mov ecx, 0x1000f250
call fcn.10002730
mov eax, dword [0x1000f250]
cmp eax, ebp
je 0x10003101
push str.UDLL_ReadHiddenArea2
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 [0x1000f3a4], edx
jmp 0x10003107
mov esi, dword [0x1000f25c]
mov dword [0x1000f3a0], edi
cmp dword [0x1000f3a4], 2
je 0x1000311c
mov dword [esp + 0x24], ebp
jmp 0x10003149
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 [0x1000f3a0]
cmp eax, ebp
mov dword [esp + 0x24], eax
jne 0x1000327b
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 0x10003263
xor ebx, ebx
cmp eax, ebp
mov dword [0x1000f3dc], ebp
jne 0x10003241
cmp esi, ebp
je 0x1000325d
cmp byte [esi], 0
je 0x1000325d
cmp dword [0x1000f254], ebp
jne 0x1000325d
cmp esi, ebp
jne 0x100031fe
je 0x100031ea
cmp byte [esi], 0
je 0x100031ea
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 0x100031db
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 0x100031f5
push str.CLateLoadBase::dll_LoadLibrary___Unable_to_allocate_memory_for_a_string_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor ebp, ebp
jmp 0x100031f5
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 0x10003241
push esi
mov dword [0x1000f254], ebp
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebp
mov dword [0x1000f250], eax
jne 0x10003241
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebp
mov dword [0x1000f254], eax
jne 0x10003238
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 0x1000325d
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 0x10003277
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