Function at 0x1003c220
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bbe53
mov eax, dword fs:[0]
push eax
sub esp, 0xc2c
mov eax, dword [0x100db090]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0xc2c], eax
mov dword [ebp - 0xc34], eax
mov dword [ebp - 0xc38], eax
xor ecx, ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 2
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 7
mov word [eax + 0x10], cx
mov dword [ebp - 4], ecx
lea esi, [eax + 0x38]
mov dword [eax + 0x34], ecx
lea edi, [eax + 0x3c]
mov dword [esi], ecx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], ecx
mov ecx, eax
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0xffffffff
mov dword [eax + 0x30], 2
mov dword [edi], 0x54534348
call fcn.1003bf70
mov ecx, dword [ebp - 0xc2c]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x1003c2e6
mov esi, ecx
add eax, 4
mov dword [esi], eax
jmp 0x1003c2ee
mov dword [ecx], esi
mov esi, dword [ebp - 0xc2c]
mov eax, dword [esi + 0x44]
test eax, eax
push 0x20
push 0x100cf034
push 0x100ceff8
lea ecx, [eax + 4]
cmove ecx, edi
mov dword [esi + 4], ecx
call fcn.100897ac
add esp, 0xc
mov dword [ebp - 0xc34], eax
test eax, eax
jne 0x1003c3a8
push 0x400
lea eax, [ebp - 0xc10]
push eax
push 0
call dword [0x100c00bc]
test eax, eax
je 0x1003c5bb
call dword [0x100c00b8]
test eax, eax
jne 0x1003c5bb
lea eax, [ebp - 0xc10]
push 0x5c
push eax
call fcn.100623ee
add esp, 8
test eax, eax
je 0x1003c5bb
xor ecx, ecx
push str.dbg_trace.ini
mov word [eax + 2], cx
lea eax, [ebp - 0xc10]
push 0x400
push eax
call fcn.1008c78d
push 0x20
lea eax, [ebp - 0xc10]
push 0x100cf034
push eax
call fcn.100897ac
add esp, 0x18
mov dword [ebp - 0xc34], eax
test eax, eax
je 0x1003c5bb
mov eax, 1
jmp 0x1003c3aa
xor eax, eax
push 0x400
mov dword [esi + 8], eax
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.10062e20
push dword [ebp - 0xc34]
lea eax, [ebp - 0x410]
mov byte [ebp - 0xc2d], 0
push 0x3ff
push eax
mov byte [ebp - 0xc2e], 0
call fcn.1008c6ff
add esp, 0x18
test eax, eax
je 0x1003c5ad
push 5
lea eax, [ebp - 0x410]
push str.BDWER
push eax
call fcn.1008c41e
add esp, 0xc
test eax, eax
je 0x1003c77d
push 1
lea eax, [ebp - 0x410]
push 0x100cf038
push eax
call fcn.1008c41e
add esp, 0xc
test eax, eax
je 0x1003c77d
push 3
lea eax, [ebp - 0x410]
push 0x100cf03c
push eax
call fcn.1008c41e
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x1003c478
push 0x3d
push eax
call fcn.10062700
add esp, 8
test eax, eax
je 0x1003c58b
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
test edx, edx
je 0x1003c58b
mov eax, dword [eax + 1]
xor eax, edx
mov dword [ecx], eax
jmp 0x1003c58b
push 4
push str.root
push eax
call fcn.1008c41e
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x1003c5da
push 0x3d
push eax
call fcn.10062700
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x1003c58b
mov al, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp al, 0xa
je 0x1003c4c5
cmp al, 0xd
je 0x1003c4c5
test al, al
je 0x1003c4c5
mov al, byte [ecx + 1]
inc ecx
cmp al, 0xa
jne 0x1003c4b5
mov byte [ecx], 0
lea ecx, [ebp - 0xc28]
call fcn.1003e2f0
mov edi, eax
add esi, 0x10
cmp esi, edi
je 0x1003c545
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x1003c515
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x1003c50b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003c7c8
mov eax, edx
push ecx
push eax
call fcn.10060389
add esp, 8
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 7
mov word [esi], ax
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 edx, dword [ebp - 0xc14]
cmp edx, 8
jb 0x1003c585
mov ecx, dword [ebp - 0xc28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1003c57b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003c7c8
push edx
push ecx
call fcn.10060389
add esp, 8
mov esi, dword [ebp - 0xc2c]
push dword [ebp - 0xc34]
lea eax, [ebp - 0x410]
push 0x3ff
push eax
call fcn.1008c6ff
add esp, 0xc
test eax, eax
jne 0x1003c3f0
push dword [ebp - 0xc34]
call fcn.1008a4f2
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006034b
mov esp, ebp
pop ebp
ret 4
push 4
push str.size
push eax
call fcn.1008c41e
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x410]
jne 0x1003c6c5
push 0x3d
push eax
call fcn.10062700
mov esi, eax
add esp, 8
test esi, esi
je 0x1003c585
lea eax, [ebp - 0x410]
push 0x2e
push eax
call fcn.10062700
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x1003c64c
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.BDWER
push ecx
call fcn.1008c41e
add esp, 0xc
test eax, eax
jne 0x1003c585
mov byte [ebp - 0xc2d], 1
jmp 0x1003c659
cmp byte [ebp - 0xc2d], 0
jne 0x1003c585
mov al, byte [esi + 1]
inc esi
mov edx, esi
cmp al, 0x30
jl 0x1003c67a
mov cl, al
mov al, cl
cmp cl, 0x39
ja 0x1003c67a
test cl, cl
je 0x1003c67a
mov al, byte [esi + 1]
inc esi
mov cl, al
cmp al, 0x30
jge 0x1003c665
mov edi, 1
cmp al, 0x4b
jne 0x1003c68a
mov edi, 0x400
jmp 0x1003c69e
cmp al, 0x4d
jne 0x1003c695
mov edi, 0x100000
jmp 0x1003c69e
cmp al, 0x47
jne 0x1003c69e
mov edi, 0x40000000
push edx
mov byte [esi], 0
call fcn.1008c343
add esp, 4
push 0
push edi
push edx
push eax
call fcn.100612d0
mov esi, dword [ebp - 0xc2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
jmp 0x1003c58b
push 6
push str.number
push eax
call fcn.1008c41e
add esp, 0xc
test eax, eax
jne 0x1003c58b
lea eax, [ebp - 0x410]
push 0x3d
push eax
call fcn.10062700
mov esi, eax
add esp, 8
test esi, esi
je 0x1003c585
lea eax, [ebp - 0x410]
push 0x2e
push eax
call fcn.10062700
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x1003c737
inc ecx
mov byte [esi], 0
mov eax, esi
sub eax, ecx
push eax
push str.BDWER
push ecx
call fcn.1008c41e
add esp, 0xc
test eax, eax
jne 0x1003c585
mov byte [ebp - 0xc2e], 1
jmp 0x1003c744
cmp byte [ebp - 0xc2e], 0
jne 0x1003c585
mov al, byte [esi + 1]
inc esi
mov ecx, esi
cmp al, 0x30
jl 0x1003c760
nop
cmp al, 0x39
ja 0x1003c760
test al, al
je 0x1003c760
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jge 0x1003c750
push ecx
mov byte [esi], 0
call fcn.1008c343
mov esi, dword [ebp - 0xc2c]
add esp, 4
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
jmp 0x1003c58b
lea eax, [ebp - 0x410]
push 0x3d
push eax
call fcn.10062700
add esp, 8
test eax, eax
je 0x1003c58b
mov cl, byte [eax + 1]
inc eax
mov edx, eax
cmp cl, 0x30
jl 0x1003c7b3
cmp cl, 0x39
ja 0x1003c7b3
test cl, cl
je 0x1003c7b3
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jge 0x1003c7a1
push edx
mov byte [eax], 0
call fcn.1008c304
mov ecx, dword [esi]
add esp, 4
mov dword [ecx], eax
jmp 0x1003c58b
call fcn.1008945b
int3