Function at 0x45da90
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aed93
mov eax, dword fs:[0]
push eax
sub esp, 0xc30
mov eax, dword [0x4d9164]
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 0x4b59d4
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 0x4b6d5c
mov dword [ebx + 4], ecx
call fcn.004910a3
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc1c], edi
test edi, edi
jne 0x45dbf5
push 0x400
lea eax, [ebp - 0xc10]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x45dea8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x45dea8
lea eax, [ebp - 0xc10]
push 0x5c
push eax
call fcn.00482c95
add esp, 8
test eax, eax
je 0x45dea8
xor ecx, ecx
push str.dbg_trace.ini
mov word [eax + 2], cx
lea eax, [ebp - 0xc10]
push 0x400
push eax
call fcn.0048f2ed
push 0x20
lea eax, [ebp - 0xc10]
push 0x4b59d4
push eax
call fcn.004910a3
mov edi, eax
mov dword [ebp - 0xc1c], eax
add esp, 0x18
test edi, edi
je 0x45dea8
mov eax, 1
jmp 0x45dbf7
xor eax, eax
push 0x400
mov dword [ebx + 8], eax
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.00483710
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 0x45dc33
push edi
lea eax, [ebp - 0x410]
sub esi, ecx
push 0x3ff
push eax
mov dword [ebp - 0xc18], esi
call fcn.00493ffa
add esp, 0xc
test eax, eax
je 0x45de9f
nop
push esi
push dword [ebp - 0xc20]
lea eax, [ebp - 0x410]
push eax
call fcn.00493afd
add esp, 0xc
test eax, eax
je 0x45df77
push 1
lea eax, [ebp - 0x410]
push 0x4b5954
push eax
call fcn.00493afd
add esp, 0xc
test eax, eax
je 0x45df77
push 3
lea eax, [ebp - 0x410]
push 0x4b6da4
push eax
call fcn.00493afd
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x45dce8
push 0x3d
push eax
call fcn.00484840
add esp, 8
test eax, eax
je 0x45de82
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
test edx, edx
je 0x45de82
mov eax, dword [eax + 1]
xor eax, edx
mov dword [ecx], eax
jmp 0x45de82
push 4
push str.root
push eax
call fcn.00493afd
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x45dd9a
push 0x3d
push eax
call fcn.00484840
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x45de82
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0xa
je 0x45dd35
cmp al, 0xd
je 0x45dd35
test al, al
je 0x45dd35
mov al, byte [ecx + 1]
inc ecx
cmp al, 0xa
jne 0x45dd25
push edx
lea eax, [ebp - 0xc3c]
mov byte [ecx], 0
push eax
call fcn.00472f60
add esp, 8
lea ecx, [ebx + 0x10]
push eax
call fcn.0041e870
mov edx, dword [ebp - 0xc28]
cmp edx, 8
jb 0x45de82
mov ecx, dword [ebp - 0xc3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45dd8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45dfc5
push edx
push ecx
call fcn.00481131
add esp, 8
jmp 0x45de82
push 4
push str.size
push eax
call fcn.00493afd
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x45dec8
push 0x3d
push eax
call fcn.00484840
mov esi, eax
add esp, 8
test esi, esi
je 0x45de7c
lea eax, [ebp - 0x410]
push 0x2e
push eax
call fcn.00484840
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x45de0c
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.DLLPROTECT
push ecx
call fcn.00493afd
add esp, 0xc
test eax, eax
jne 0x45de7c
mov byte [ebp - 0xc11], 1
jmp 0x45de15
cmp byte [ebp - 0xc11], 0
jne 0x45de7c
mov al, byte [esi + 1]
inc esi
mov edx, esi
cmp al, 0x30
jl 0x45de36
mov cl, al
mov al, cl
cmp cl, 0x39
ja 0x45de36
test cl, cl
je 0x45de36
mov al, byte [esi + 1]
inc esi
mov cl, al
cmp al, 0x30
jge 0x45de21
mov edi, 1
cmp al, 0x4b
jne 0x45de46
mov edi, 0x400
jmp 0x45de5a
cmp al, 0x4d
jne 0x45de51
mov edi, 0x100000
jmp 0x45de5a
cmp al, 0x47
jne 0x45de5a
mov edi, 0x40000000
push edx
mov byte [esi], 0
call fcn.00493c79
add esp, 4
push 0
push edi
push edx
push eax
call fcn.00481b40
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.00493ffa
add esp, 0xc
test eax, eax
jne 0x45dc60
push edi
call fcn.0049041b
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.004810ea
mov esp, ebp
pop ebp
ret 4
push 6
push str.number
push eax
call fcn.00493afd
add esp, 0xc
test eax, eax
jne 0x45de82
lea eax, [ebp - 0x410]
push 0x3d
push eax
call fcn.00484840
mov esi, eax
add esp, 8
test esi, esi
je 0x45de7c
lea eax, [ebp - 0x410]
push 0x2e
push eax
call fcn.00484840
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x45df32
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.DLLPROTECT
push ecx
call fcn.00493afd
add esp, 0xc
test eax, eax
jne 0x45de7c
mov byte [ebp - 0xc12], 1
jmp 0x45df3f
cmp byte [ebp - 0xc12], 0
jne 0x45de7c
mov al, byte [esi + 1]
inc esi
mov ecx, esi
cmp al, 0x30
jl 0x45df60
nop dword [eax]
cmp al, 0x39
ja 0x45df60
test al, al
je 0x45df60
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jge 0x45df50
push ecx
mov byte [esi], 0
call fcn.00493c79
add esp, 4
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
jmp 0x45de7c
lea eax, [ebp - 0x410]
push 0x3d
push eax
call fcn.00484840
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x45de82
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0x30
jl 0x45dfb0
nop dword [eax]
cmp al, 0x39
ja 0x45dfb0
test al, al
je 0x45dfb0
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jge 0x45dfa0
push edx
mov byte [ecx], 0
call fcn.00493c56
mov ecx, dword [ebx]
add esp, 4
mov dword [ecx], eax
jmp 0x45de82
call fcn.004861f9
int3