Function at 0x1001ae50
Capabilities:
Access peb ldr_data
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xd0
mov eax, dword [0x10052004]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0xa8], eax
mov ebx, ecx
mov eax, dword [ebp + 0x14]
push esi
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 0x1c]
push 0x44
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x98]
push 0
push eax
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x9c], 0
call sub.msvcrt.dll_memset
mov eax, dword [edi]
add esp, 0xc
mov dword [ebp - 0xac], 0
mov esi, dword [eax]
lea eax, [ebp - 0xb0]
push eax
push 0x10001ad0
push edi
cmp esi, fcn.10005f10
je 0x1001b593
cmp esi, fcn.10025620
je 0x1001b5a7
mov ecx, esi
call dword [0x100532e8]
call esi
test eax, eax
jns 0x1001b5b1
mov eax, dword [edi]
push 1
mov esi, dword [eax + 0x24]
lea eax, [ebp - 0x9c]
push eax
push edi
cmp esi, fcn.10005df0
je 0x1001b59d
mov ecx, esi
call dword [0x100532e8]
call esi
mov edi, eax
mov dword [ebp - 0xac], 1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa0], eax
test edi, edi
js 0x10034057
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x70]
mov esi, dword [ebp - 0xa8]
mov dword [ecx], 0
test al, 4
je 0x1001af77
push ecx
mov ecx, dword [ebp - 0xb4]
mov edx, esi
push 1
call fcn.10003c10
mov edi, eax
test edi, edi
js 0x10034057
mov eax, dword [ebp - 0x70]
test esi, 0x400
jne 0x10033cbf
call fcn.1001a850
push 0x48
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0xc]
cmp edi, fcn.100180d0
jne 0x10033cf0
call fcn.100180d0
test eax, eax
je 0x10033cff
push dword [ebp + 0x20]
mov ecx, eax
push dword [ebp - 0x70]
push esi
push dword [ebx + 0x7c]
call fcn.1001b6b0
mov ecx, dword [ebp - 0xb8]
mov dword [ecx], eax
test eax, eax
je 0x10033d06
mov ecx, dword fs:[0x18]
mov esi, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0xf80]
sub eax, dword [ecx]
mov ecx, ebx
mov dword [ebx + 0x74], eax
mov eax, dword [ebp - 0xa8]
test al, 4
jne 0x1001b627
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push esi
call fcn.1001adb3
mov edi, eax
test edi, edi
js 0x1003401c
call fcn.1001a850
push 0x40
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
cmp esi, fcn.100180d0
jne 0x10033d10
call fcn.100180d0
mov edi, eax
test edi, edi
je 0x10033fc1
cmp dword [ebp - 0xac], 0
mov eax, dword [ebx + 0x7c]
mov dword [edi + 0x14], 0
mov dword [edi], fcn.10025620
mov dword [edi + 4], 0x100017f8
mov dword [edi + 8], 0x10001820
mov dword [edi + 0xc], 0x1000183c
mov dword [edi + 0x30], eax
mov dword [edi + 0x2c], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0xffffffff
mov dword [edi + 0x18], 0
mov dword [edi + 0x28], 0x54534c46
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x1c], 0
je 0x1001b618
mov dword [ebp - 0xa4], 0x800
call fcn.1001a850
push 0x258
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
cmp esi, fcn.100180d0
jne 0x10033d1f
call fcn.100180d0
mov ecx, eax
mov dword [ebp - 0xac], ecx
test ecx, ecx
je 0x10033f7d
mov eax, dword [edi + 0x30]
lea esi, [edi + 0x10]
mov ebx, dword [ebp - 0xa0]
mov dword [ecx], 0
and ebx, 0x400
mov dword [ecx + 0x10], eax
xor eax, eax
mov dword [ecx + 4], 1
mov dword [ecx + 0x250], 0
mov word [ecx + 0x30], ax
mov eax, ebx
or eax, dword [ebp - 0xa4]
or eax, 0x54
mov dword [ecx + 8], 0xc0
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 1
mov dword [ecx + 0x23c], 1
mov dword [ecx + 0x248], 0
mov dword [ecx + 0x24c], 0
mov dword [ecx + 0x240], 0
mov dword [ecx + 0x244], 0
mov dword [ecx + 0x18], 0xffffffff
mov dword [ecx + 0x1c], 0xffffffff
mov dword [ecx + 0x20], 0x200
mov dword [edi + 0x18], ecx
mov eax, dword [ecx]
mov dword [esi + 4], eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_GetCurrentProcessId]
mov dword [esi], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
sub esi, dword [eax]
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
test ebx, ebx
jne 0x10033d36
mov ebx, dword [ebp - 0xc0]
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x10033da1
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov edx, dword [ebp - 0xa8]
xor ecx, ecx
mov dword [eax + 0xc], edi
mov al, dl
mov esi, dword [ebx + 0x74]
and al, 6
cmp al, 2
mov dword [ebp - 0xb8], 0
setne cl
dec ecx
and ecx, 8
test esi, esi
je 0x10033da8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, esi
or ecx, dword [ebp - 0xa0]
add eax, 8
push edx
push ecx
mov ecx, dword [ebx + 0x7c]
lea edx, [ebp - 0xb8]
push eax
call fcn.10004e90
cmp dword [ebp - 0xb8], 0
mov esi, eax
mov dword [ebp - 0xac], eax
je 0x10033daf
mov ecx, dword fs:[0x18]
mov edx, dword [ecx + 0xf80]
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [edx]
mov dword [ebx + 0x68], ecx
cmp esi, 0x800300fb
je 0x10033db6
mov dword [ebp - 0xa0], esi
test esi, esi
js 0x10033f87
test dword [ebp - 0xa8], 0x40000
jne 0x10033dc6
call fcn.1001a850
push 0x20
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
cmp esi, fcn.100180d0
jne 0x10033e01
call fcn.100180d0
mov esi, eax
test esi, esi
je 0x10033f52
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x10033e10
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
mov dword [esi + 8], 1
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0xffffffff
test ecx, ecx
je 0x10033e17
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
sub ecx, dword [eax]
cmp dword [ebp - 0xb8], 0
mov dword [esi + 0x1c], ecx
je 0x10033e1e
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0xf80]
mov eax, dword [ebp - 0xb8]
sub eax, dword [ecx]
test byte [ebp - 0xa8], 2
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], 0
mov dword [esi + 4], 0
mov dword [esi], 0x4c464443
mov dword [esi + 4], 1
jne 0x1001b47a
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
sub esi, dword [eax]
mov dword [ebx + 0x5c], esi
mov esi, dword [ebp - 0xa8]
and esi, 0x4000
jne 0x10033e5e
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x10033eaa
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
push ecx
add eax, 0xc
lea ecx, [ebp - 0xbc]
push eax
mov edx, esi
call fcn.1000418d
mov dword [ebp - 0xa0], eax
test eax, eax
js 0x10033f87
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x10033eb1
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov edx, dword [eax]
add edx, ecx
cmp dword [ebp - 0xbc], 0
je 0x10033eb8
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0xf80]
mov eax, dword [ebp - 0xbc]
sub eax, dword [ecx]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebx + 0x74]
movzx eax, word [eax + 0x4c0]
mov dword [ebp - 0xc0], eax
test edx, edx
je 0x10033ebf
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc0]
add ecx, edx
movzx eax, ax
mov dword [ecx + 0x28], eax
mov ecx, dword [ebx + 0x74]
test esi, esi
jne 0x10033ec6
test ecx, ecx
je 0x10033f4b
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov dword [eax], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100281a0
mov esp, ebp
pop ebp
ret 0x1c
mov eax, 1
lea ecx, [ebp - 0x54]
mov word [ebx + 0x64], ax
xor eax, eax
mov word [ebp - 0x14], ax
mov word [ebp - 0xc4], ax
lea eax, [ebp - 0xc4]
push eax
push 2
call fcn.100095f1
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x10033e25
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
mov ecx, dword [ecx + 0xc]
call fcn.100256ca
mov dword [ebp - 0xa0], eax
test eax, eax
js 0x10033e52
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x10033e2c
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
mov ecx, dword [ecx + 0xc]
call fcn.100102f2
mov ecx, 0xc0
call fcn.100057a2
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x10033e48
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x10033e33
mov ecx, dword fs:[0x18]
mov eax, dword [ecx + 0xf80]
mov eax, dword [eax]
add eax, edx
mov ecx, dword [ebp - 0xc0]
push ebx
push eax
push dword [ebp - 0xa8]
lea eax, [ebp - 0x54]
push dword [esi + 8]
push eax
call fcn.1000a054
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x10033e48
push esi
mov ecx, eax
call fcn.1000a78f
mov dword [ebp - 0xa0], eax
test eax, eax
js 0x10033e3a
mov esi, dword [ebp - 0xa4]
mov ecx, ebx
push dword [esi + 8]
lea eax, [esi + 0xc]
push eax
push 0
call fcn.1000baff
push esi
lea ecx, [ebp - 0xd0]
call fcn.100042bf
mov eax, dword [eax]
mov dword [ebx + 0x5c], eax
jmp 0x1001b369
call fcn.10005f10
jmp 0x1001aef7
call fcn.10005df0
jmp 0x1001af24
call fcn.10025620
jmp 0x1001aef7
mov esi, dword [ebp - 0xb0]
mov eax, dword [esi]
mov edi, dword [eax + 0x14]
lea eax, [ebp - 0x70]
push eax
push esi
cmp edi, fcn.10025b00
jne 0x10033c97
call fcn.10025b00
mov edi, eax
mov eax, dword [esi]
push esi
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xbc], eax
cmp eax, fcn.10025aa0
jne 0x10033cac
call fcn.10025aa0
test eax, eax
mov eax, dword [ebp + 0xc]
jne 0x1001b645
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100532e8]
call esi
jmp 0x1001af39
mov dword [ebp - 0xa4], 0
jmp 0x1001b0b5
push dword [ebp - 0xac]
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push esi
call fcn.100220c9
jmp 0x1001b005
or eax, 0x400
jmp 0x1001b5f7
mov ecx, edi
call dword [0x100532e8]
call edi
mov esi, dword [ebp - 0xb0]
jmp 0x1001b5d2
mov ecx, eax
call dword [0x100532e8]
call dword [ebp - 0xbc]
jmp 0x1001b5f0
test al, 4
je 0x1001af83
mov ecx, dword [ebp - 0xb4]
lea eax, [ebx + 0x78]
push eax
mov edx, 0x40
call fcn.1000968c
mov edi, eax
test edi, edi
jns 0x1001af83
mov esi, dword [ebp - 0xb4]
jmp 0x10034037
mov ecx, edi
call dword [0x100532e8]
call edi
jmp 0x1001afa1
xor eax, eax
jmp 0x1001afba
mov edi, 0x80030008
jmp 0x10034016
mov ecx, esi
call dword [0x100532e8]
call esi
jmp 0x1001b02d
mov ecx, esi
call dword [0x100532e8]
call esi
mov ecx, eax
mov dword [ebp - 0xac], eax
jmp 0x1001b0de
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0xb0]
push ecx
push 0x10001ad0
push eax
mov esi, dword [eax]
mov esi, dword [esi]
mov ecx, esi
call dword [0x100532e8]
call esi
test eax, eax
js 0x1001b1b7
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x100532e8]
call esi
test eax, eax
je 0x10033d86
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.1004ff4d
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100532e8]
call esi
jmp 0x1001b1b7
xor eax, eax
jmp 0x1001b1d8
xor eax, eax
jmp 0x1001b215
xor ecx, ecx
jmp 0x1001b259
mov esi, 0x80030050
mov dword [ebp - 0xac], esi
jmp 0x1001b268
mov ecx, dword [ebp - 0xb4]
lea edx, [ebx + 0x6c]
call fcn.10021f46
mov dword [ebp - 0xa0], eax
cmp eax, 0x800300fb
je 0x10033df5
cmp eax, 0x800300fd
je 0x10033df5
test eax, eax
jns 0x1001b286
jmp 0x10033f5c
mov dword [ebx + 0x6c], 0xffffffff
jmp 0x1001b286
mov ecx, esi
call dword [0x100532e8]
call esi
jmp 0x1001b2a4
xor ecx, ecx
jmp 0x1001b2c9
xor ecx, ecx
jmp 0x1001b309
xor eax, eax
jmp 0x1001b32d
xor ecx, ecx
jmp 0x1001b4bc
xor ecx, ecx
jmp 0x1001b4ed
xor eax, eax
jmp 0x1001b529
push ecx
mov ecx, dword [ebp - 0xa4]
call fcn.10037811
jmp 0x10033e52
mov dword [ebp - 0xa0], 0x80030008
mov ecx, esi
call fcn.100098f1
jmp 0x10033f87
mov edx, dword [ebx + 0x68]
test edx, edx
je 0x10033e77
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
jmp 0x10033e79
xor ecx, ecx
lea eax, [ebx + 0x80]
push eax
push 1
push 0
call fcn.1004e003
test eax, eax
jns 0x1001b37b
mov dword [ebx + 0x84], 0xffffffff
mov dword [ebx + 0x80], 0xffffffff
jmp 0x1001b37b
xor eax, eax
jmp 0x1001b396
xor edx, edx
jmp 0x1001b3d1
xor eax, eax
jmp 0x1001b3f2
xor ecx, ecx
jmp 0x1001b429
test ecx, ecx
je 0x10033ee2
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10033eec
mov dword [ebp - 0xa4], 0
mov esi, dword [ebp - 0xb8]
lea ecx, [ebp - 0xcc]
push esi
call fcn.100042bf
mov ecx, dword [ebp - 0xa4]
push 1
push esi
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xbc]
call fcn.1004e36c
mov dword [ebp - 0xa0], eax
test eax, eax
js 0x10033f87
mov edx, dword [ebx + 0x68]
test edx, edx
je 0x10033f39
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
jmp 0x10033f3b
xor ecx, ecx
push dword [ebp - 0xbc]
call fcn.1004fed2
jmp 0x1001b458
xor eax, eax
jmp 0x1001b452
mov dword [ebp - 0xa0], 0x80030008
mov edx, dword [ebx + 0x68]
test edx, edx
je 0x10033f87
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
je 0x10033f87
push ecx
call fcn.10018070
jmp 0x10033f87
mov dword [ebp - 0xa0], 0x80030008
mov eax, dword [edi]
push edi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100532e8]
call esi
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x10033fb0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
jmp 0x10033fb2
xor eax, eax
mov edi, dword [ebp - 0xa0]
mov dword [eax + 0xc], 0
jmp 0x10033fc6
mov edi, 0x80030008
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x10033fdf
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
jmp 0x10033fe1
xor eax, eax
mov eax, dword [eax + 8]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100532e8]
call esi
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x1003400d
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
jmp 0x1003400f
xor eax, eax
mov dword [eax + 8], 0
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x10034037
push eax
mov edx, 0x40
mov ecx, esi
call fcn.1002227f
mov dword [ebx + 0x78], 0
mov ebx, dword [ebp - 0xc8]
mov eax, dword [ebx]
test eax, eax
je 0x10034057
mov edx, dword [ebp - 0xa8]
mov ecx, esi
push eax
call fcn.1000adbc
mov dword [ebx], 0
mov eax, edi
jmp 0x1001b467