Function at 0x471480
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c3103
mov eax, dword fs:[0]
push eax
sub esp, 0xc30
mov eax, dword [0x4f4164]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0xc20], ebx
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0xc24], ebx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 2
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 7
mov word [ebx + 0x10], ax
mov dword [ebp - 4], eax
lea ecx, [ebx + 0x3c]
mov dword [ebx + 0x34], eax
lea eax, [ebx + 0x38]
push 0x20
push 0x4d26dc
mov dword [ebx + 0x28], 0xffffffff
mov dword [ebx + 0x2c], 0xffffffff
mov dword [ebx + 0x30], 2
mov dword [eax], 0
mov dword [ecx], 0x54534348
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx], eax
push 0x4d3834
mov dword [ebx + 4], ecx
call fcn.004a6dd4
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc1c], edi
test edi, edi
jne 0x4715e5
push 0x400
lea eax, [ebp - 0xc10]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x471898
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x471898
lea eax, [ebp - 0xc10]
push 0x5c
push eax
call fcn.004958ea
add esp, 8
test eax, eax
je 0x471898
xor ecx, ecx
push str.dbg_trace.ini
mov word [eax + 2], cx
lea eax, [ebp - 0xc10]
push 0x400
push eax
call fcn.004a94fe
push 0x20
lea eax, [ebp - 0xc10]
push 0x4d26dc
push eax
call fcn.004a6dd4
mov edi, eax
mov dword [ebp - 0xc1c], eax
add esp, 0x18
test edi, edi
je 0x471898
mov eax, 1
jmp 0x4715e7
xor eax, eax
push 0x400
mov dword [ebx + 8], eax
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.00495790
add esp, 0xc
mov byte [ebp - 0xc11], 0
test esi, esi
mov byte [ebp - 0xc12], 0
mov eax, str.DLLPROTECT
cmovne eax, esi
mov esi, eax
mov dword [ebp - 0xc20], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x471623
push edi
lea eax, [ebp - 0x410]
sub esi, ecx
push 0x3ff
push eax
mov dword [ebp - 0xc18], esi
call fcn.004a9a07
add esp, 0xc
test eax, eax
je 0x47188f
nop
push esi
push dword [ebp - 0xc20]
lea eax, [ebp - 0x410]
push eax
call fcn.004a9573
add esp, 0xc
test eax, eax
je 0x471967
push 1
lea eax, [ebp - 0x410]
push 0x4d268c
push eax
call fcn.004a9573
add esp, 0xc
test eax, eax
je 0x471967
push 3
lea eax, [ebp - 0x410]
push 0x4d387c
push eax
call fcn.004a9573
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x4716d8
push 0x3d
push eax
call fcn.00496e90
add esp, 8
test eax, eax
je 0x471872
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
test edx, edx
je 0x471872
mov eax, dword [eax + 1]
xor eax, edx
mov dword [ecx], eax
jmp 0x471872
push 4
push str.root
push eax
call fcn.004a9573
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x47178a
push 0x3d
push eax
call fcn.00496e90
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x471872
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0xa
je 0x471725
cmp al, 0xd
je 0x471725
test al, al
je 0x471725
mov al, byte [ecx + 1]
inc ecx
cmp al, 0xa
jne 0x471715
push edx
lea eax, [ebp - 0xc3c]
mov byte [ecx], 0
push eax
call fcn.00486b90
add esp, 8
lea ecx, [ebx + 0x10]
push eax
call fcn.004036f0
mov edx, dword [ebp - 0xc28]
cmp edx, 8
jb 0x471872
mov ecx, dword [ebp - 0xc3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47177b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4719b5
push edx
push ecx
call fcn.00450975
add esp, 8
jmp 0x471872
push 4
push str.size
push eax
call fcn.004a9573
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x4718b8
push 0x3d
push eax
call fcn.00496e90
mov esi, eax
add esp, 8
test esi, esi
je 0x47186c
lea eax, [ebp - 0x410]
push 0x2e
push eax
call fcn.00496e90
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x4717fc
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.DLLPROTECT
push ecx
call fcn.004a9573
add esp, 0xc
test eax, eax
jne 0x47186c
mov byte [ebp - 0xc11], 1
jmp 0x471805
cmp byte [ebp - 0xc11], 0
jne 0x47186c
mov al, byte [esi + 1]
inc esi
mov edx, esi
cmp al, 0x30
jl 0x471826
mov cl, al
mov al, cl
cmp cl, 0x39
ja 0x471826
test cl, cl
je 0x471826
mov al, byte [esi + 1]
inc esi
mov cl, al
cmp al, 0x30
jge 0x471811
mov edi, 1
cmp al, 0x4b
jne 0x471836
mov edi, 0x400
jmp 0x47184a
cmp al, 0x4d
jne 0x471841
mov edi, 0x100000
jmp 0x47184a
cmp al, 0x47
jne 0x47184a
mov edi, 0x40000000
push edx
mov byte [esi], 0
call fcn.0049f228
add esp, 4
push 0
push edi
push edx
push eax
call fcn.00450e70
mov edi, dword [ebp - 0xc1c]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov esi, dword [ebp - 0xc18]
push edi
lea eax, [ebp - 0x410]
push 0x3ff
push eax
call fcn.004a9a07
add esp, 0xc
test eax, eax
jne 0x471650
push edi
call fcn.0049d361
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00450df0
mov esp, ebp
pop ebp
ret 4
push 6
push str.number
push eax
call fcn.004a9573
add esp, 0xc
test eax, eax
jne 0x471872
lea eax, [ebp - 0x410]
push 0x3d
push eax
call fcn.00496e90
mov esi, eax
add esp, 8
test esi, esi
je 0x47186c
lea eax, [ebp - 0x410]
push 0x2e
push eax
call fcn.00496e90
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x471922
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.DLLPROTECT
push ecx
call fcn.004a9573
add esp, 0xc
test eax, eax
jne 0x47186c
mov byte [ebp - 0xc12], 1
jmp 0x47192f
cmp byte [ebp - 0xc12], 0
jne 0x47186c
mov al, byte [esi + 1]
inc esi
mov ecx, esi
cmp al, 0x30
jl 0x471950
nop dword [eax]
cmp al, 0x39
ja 0x471950
test al, al
je 0x471950
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jge 0x471940
push ecx
mov byte [esi], 0
call fcn.0049f228
add esp, 4
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
jmp 0x47186c
lea eax, [ebp - 0x410]
push 0x3d
push eax
call fcn.00496e90
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x471872
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0x30
jl 0x4719a0
nop dword [eax]
cmp al, 0x39
ja 0x4719a0
test al, al
je 0x4719a0
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jge 0x471990
push edx
mov byte [ecx], 0
call fcn.0049f205
mov ecx, dword [ebx]
add esp, 4
mov dword [ecx], eax
jmp 0x471872
call fcn.004984ff
int3