Function at 0x43ee20
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x529b53
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc38
mov eax, dword [0x566090]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xc3c], edi
mov dword [ebp - 0xc44], edi
mov esi, dword [ebx + 8]
mov dword [ebp - 0xc48], edi
mov dword [edi + 4], 0
mov dword [edi + 8], 2
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
xor eax, eax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 7
mov word [edi + 0x10], ax
mov dword [ebp - 4], 1
lea ecx, [edi + 0x3c]
mov dword [edi + 0x34], eax
lea eax, [edi + 0x38]
push 0x20
push 0x546b54
mov dword [edi + 0x28], 0xffffffff
mov dword [edi + 0x2c], 0xffffffff
mov dword [edi + 0x30], 2
mov dword [eax], 0
mov dword [ecx], 0x54534348
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi], eax
push 0x546b18
mov dword [edi + 4], ecx
call fcn.00501598
add esp, 0xc
mov dword [ebp - 0xc40], eax
test eax, eax
jne 0x43efa2
push 0x400
lea eax, [ebp - 0xc18]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x43f1ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x43f1ec
lea eax, [ebp - 0xc18]
push 0x5c
push eax
call fcn.004fdf43
add esp, 8
test eax, eax
je 0x43f1ec
xor ecx, ecx
push str.dbg_trace.ini
mov word [eax + 2], cx
lea eax, [ebp - 0xc18]
push 0x400
push eax
call fcn.00507355
add esp, 0xc
lea eax, [ebp - 0xc18]
push 0x20
push 0x546b54
push eax
call fcn.00501598
add esp, 0xc
mov dword [ebp - 0xc40], eax
test eax, eax
je 0x43f1ec
mov eax, 1
jmp 0x43efa4
xor eax, eax
push 0x400
mov dword [edi + 8], eax
lea eax, [ebp - 0x418]
push 0
push eax
call fcn.004feb20
add esp, 0xc
mov byte [ebp - 0xc31], 0
test esi, esi
mov byte [ebp - 0xc32], 0
mov eax, str.BDREINIT
cmovne eax, esi
mov esi, eax
mov dword [ebp - 0xc44], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x43efe0
push dword [ebp - 0xc40]
lea eax, [ebp - 0x418]
sub esi, ecx
push 0x3ff
push eax
mov dword [ebp - 0xc38], esi
call fcn.0050734a
add esp, 0xc
test eax, eax
je 0x43f1de
push esi
push dword [ebp - 0xc44]
lea eax, [ebp - 0x418]
push eax
call fcn.00507151
add esp, 0xc
test eax, eax
je 0x43f3b7
push 1
lea eax, [ebp - 0x418]
push 0x546b58
push eax
call fcn.00507151
add esp, 0xc
test eax, eax
je 0x43f3b7
push 3
lea eax, [ebp - 0x418]
push 0x546b5c
push eax
call fcn.00507151
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x418]
jne 0x43f099
push 0x3d
push eax
call fcn.004fe260
add esp, 8
test eax, eax
je 0x43f1bc
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
test edx, edx
je 0x43f1bc
mov eax, dword [eax + 1]
xor eax, edx
mov dword [ecx], eax
jmp 0x43f1bc
push 4
push str.root
push eax
call fcn.00507151
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x418]
jne 0x43f20e
push 0x3d
push eax
call fcn.004fe260
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43f1bc
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0xa
je 0x43f0e6
cmp al, 0xd
je 0x43f0e6
test al, al
je 0x43f0e6
mov al, byte [ecx + 1]
inc ecx
cmp al, 0xa
jne 0x43f0d6
mov byte [ecx], 0
lea ecx, [ebp - 0xc30]
call fcn.0043f410
mov esi, dword [ebp - 0xc3c]
mov edi, eax
add esi, 0x10
cmp esi, edi
je 0x43f170
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x43f13c
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x43f132
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43f405
mov eax, edx
push ecx
push eax
call fcn.004fc7e0
add esp, 8
xor eax, eax
mov word [esi], ax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 7
mov word [edi], ax
mov byte [ebp - 4], 1
nop dword [eax]
mov edx, dword [ebp - 0xc1c]
cmp edx, 8
jb 0x43f1b0
mov ecx, dword [ebp - 0xc30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f1a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43f405
push edx
push ecx
call fcn.004fc7e0
add esp, 8
mov edi, dword [ebp - 0xc3c]
mov esi, dword [ebp - 0xc38]
push dword [ebp - 0xc40]
lea eax, [ebp - 0x418]
push 0x3ff
push eax
call fcn.0050734a
add esp, 0xc
test eax, eax
jne 0x43f011
push dword [ebp - 0xc40]
call fcn.00505b23
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004fc7af
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 4
push str.size
push eax
call fcn.00507151
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x418]
jne 0x43f300
push 0x3d
push eax
call fcn.004fe260
mov esi, eax
add esp, 8
test esi, esi
je 0x43f1b6
lea eax, [ebp - 0x418]
push 0x2e
push eax
call fcn.004fe260
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43f280
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.BDREINIT
push ecx
call fcn.00507151
add esp, 0xc
test eax, eax
jne 0x43f1b6
mov byte [ebp - 0xc31], 1
jmp 0x43f28d
cmp byte [ebp - 0xc31], 0
jne 0x43f1b6
mov al, byte [esi + 1]
inc esi
mov edx, esi
cmp al, 0x30
jl 0x43f2b5
mov cl, al
nop dword [eax]
mov al, cl
cmp cl, 0x39
ja 0x43f2b5
test cl, cl
je 0x43f2b5
mov al, byte [esi + 1]
inc esi
mov cl, al
cmp al, 0x30
jge 0x43f2a0
mov edi, 1
cmp al, 0x4b
jne 0x43f2c5
mov edi, 0x400
jmp 0x43f2d9
cmp al, 0x4d
jne 0x43f2d0
mov edi, 0x100000
jmp 0x43f2d9
cmp al, 0x47
jne 0x43f2d9
mov edi, 0x40000000
push edx
mov byte [esi], 0
call fcn.0050712e
add esp, 4
push 0
push edi
push edx
push eax
call fcn.004fd2d0
mov edi, dword [ebp - 0xc3c]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
jmp 0x43f1b6
push 6
push str.number
push eax
call fcn.00507151
add esp, 0xc
test eax, eax
jne 0x43f1bc
lea eax, [ebp - 0x418]
push 0x3d
push eax
call fcn.004fe260
mov esi, eax
add esp, 8
test esi, esi
je 0x43f1b6
lea eax, [ebp - 0x418]
push 0x2e
push eax
call fcn.004fe260
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43f372
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.BDREINIT
push ecx
call fcn.00507151
add esp, 0xc
test eax, eax
jne 0x43f1b6
mov byte [ebp - 0xc32], 1
jmp 0x43f37f
cmp byte [ebp - 0xc32], 0
jne 0x43f1b6
mov al, byte [esi + 1]
inc esi
mov ecx, esi
cmp al, 0x30
jl 0x43f3a0
nop dword [eax]
cmp al, 0x39
ja 0x43f3a0
test al, al
je 0x43f3a0
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jge 0x43f390
push ecx
mov byte [esi], 0
call fcn.0050712e
add esp, 4
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
jmp 0x43f1b6
lea eax, [ebp - 0x418]
push 0x3d
push eax
call fcn.004fe260
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43f1bc
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0x30
jl 0x43f3f0
nop dword [eax]
cmp al, 0x39
ja 0x43f3f0
test al, al
je 0x43f3f0
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jge 0x43f3e0
push edx
mov byte [ecx], 0
call fcn.0050710b
mov ecx, dword [edi]
add esp, 4
mov dword [ecx], eax
jmp 0x43f1bc
call fcn.0050175f
int3