Function at 0x100ae9c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x101fe604
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x758
mov eax, dword [esp + 0x76c]
mov ecx, dword [eax + 0x48]
push ebx
push ebp
push esi
mov dword [esp + 0x28], ecx
mov ebx, 1
push edi
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x13], bl
call fcn.10058000
xor ebp, ebp
xor edi, edi
xor esi, esi
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x770], ebp
mov dword [esp + 0x8c], edi
jbe 0x100aea88
mov ecx, dword [esp + 0x77c]
test bl, 1
je 0x100aea78
mov eax, dword [ecx + 0x44]
cmp eax, ebp
je 0x100aea39
cmp esi, dword [ecx + 0x48]
jae 0x100aea39
mov eax, dword [eax + esi*4]
jmp 0x100aea3b
xor eax, eax
cmp eax, ebp
mov ebx, 1
je 0x100aea5f
push eax
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x1b8]
call fcn.10058080
mov ebx, dword [eax]
mov ecx, dword [esp + 0x77c]
test bl, 1
je 0x100aea78
mov eax, dword [esp + 0x1b0]
and eax, 0xff
cmp eax, 0x60
jne 0x100aea78
add edi, 1
add esi, 1
cmp esi, dword [esp + 0x2c]
jb 0x100aea23
mov dword [esp + 0x8c], edi
lea ecx, [esp + 0x4c]
mov edx, ecx
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x64]
mov dword [esp + 0x5c], edx
mov edx, ecx
mov eax, 0x10206138
mov dword [esp + 0x70], ecx
mov ecx, 0x1020dfec
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov byte [esp + 0x24], 0
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x74], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x44], ecx
lea edx, [esp + 0xb8]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xb0], ecx
lea edx, [esp + 0x128]
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], edx
lea edx, [esp + 0x140]
mov dword [esp + 0x124], ebp
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x128], eax
mov dword [esp + 0x130], ebp
mov dword [esp + 0x144], ebp
mov dword [esp + 0x140], eax
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], edx
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x154], ebp
mov dword [esp + 0x120], ecx
lea edx, [esp + 0x160]
mov dword [esp + 0x160], eax
mov dword [esp + 0x178], eax
lea eax, [esp + 0x178]
mov dword [esp + 0x16c], edx
mov dword [esp + 0x170], edx
mov edx, eax
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x164], ebp
mov dword [esp + 0x168], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], edx
mov dword [esp + 0x174], ebp
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x158], ecx
mov eax, 0x1020dfd4
mov dword [esp + 0xec], ebp
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xf0], eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x108]
mov edx, ecx
mov dword [esp + 0xfc], ecx
mov ecx, eax
mov byte [esp + 0xf8], 0
mov dword [esp + 0x100], edx
mov dword [esp + 0x10c], ebp
mov byte [esp + 0x110], 0
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
mov dword [esp + 0x104], ebp
mov dword [esp + 0x11c], ebp
mov dword [esp + 0xe8], 0x1020dff0
mov esi, 0x10206150
push edi
lea ecx, [esp + 0x38]
mov byte [esp + 0x774], 5
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
call fcn.100598b0
push edi
lea ecx, [esp + 0x80]
mov byte [esp + 0x774], 6
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
call fcn.100598b0
push edi
lea ecx, [esp + 0x94]
mov byte [esp + 0x774], 7
mov dword [esp + 0x98], ebp
mov dword [esp + 0x94], 0x10206778
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebp
call fcn.10089060
push ebp
lea ecx, [esp + 0x94]
call fcn.100c6280
test bl, 1
mov byte [esp + 0x770], 8
je 0x100aed92
cmp dword [esp + 0x40], edi
jne 0x100aed8c
cmp dword [esp + 0x88], edi
jne 0x100aed8c
cmp dword [esp + 0x9c], edi
je 0x100aed92
and ebx, 0xfffffffe
or ebx, 8
test bl, 1
mov edx, dword [esp + 0x784]
mov byte [edx], 0
je 0x100af4d0
mov esi, dword [esp + 0x58]
lea esp, [esp]
cmp dword [esp + 0x8c], ebp
je 0x100af4d0
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x30], ebp
jbe 0x100af4af
nop
test bl, 1
je 0x100af49a
mov edx, dword [esp + 0x77c]
mov eax, dword [edx + 0x44]
cmp eax, ebp
je 0x100aedf5
mov ecx, dword [esp + 0x30]
cmp ecx, dword [edx + 0x48]
jae 0x100aedf5
mov ecx, dword [eax + ecx*4]
jmp 0x100aedf7
xor ecx, ecx
cmp ecx, ebp
mov eax, 1
je 0x100aee1b
push ecx
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0x1b8]
call fcn.10058080
mov eax, dword [eax]
mov esi, dword [esp + 0x58]
mov ebx, eax
test bl, 1
je 0x100af49a
cmp byte [esp + 0x13], 0
jne case.0x100aee51.89
mov edi, dword [esp + 0x1b0]
and edi, 0xff
lea eax, [edi - 0x58]
cmp eax, 0xb
ja case.0x100aee51.89
movzx ecx, byte [eax + 0x100af6d0]
jmp dword [ecx*4 + 0x100af6c0]
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x20], edx
jae 0x100aefb7
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov eax, ecx
and ecx, 0x1f
mov edx, 1
shl edx, cl
shr eax, 5
test dword [edi + eax*4], edx
setne dl
test dl, dl
je 0x100aefb7
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x88]
jae 0x100aeeb4
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x84]
test dword [ecx + eax*4], edx
setne al
test al, al
jne case.0x100aee51.89
lea ecx, [esp + 0x398]
call fcn.10058000
lea ecx, [esp + 0x398]
mov byte [esp + 0x770], 9
call fcn.10057150
mov edx, dword [esp + 0x398]
push ebp
and edx, 0xfffffa50
push ebp
lea eax, [esp + 0x1b8]
or edx, 0x250
push eax
lea ecx, [esp + 0x3a4]
mov dword [esp + 0x3a4], edx
call fcn.100574c0
mov eax, dword [esp + 0x98]
cmp eax, ebp
je 0x100aef1d
cmp edi, dword [esp + 0x9c]
jae 0x100aef1d
mov eax, dword [eax + edi*4]
jmp 0x100aef1f
xor eax, eax
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x1f0]
and eax, 0xfffcffff
or eax, 0x48000
and eax, 0xffff8001
or al, 1
mov dword [esp + 0x1f4], ecx
lea ecx, [esp + 0x1f0]
push ecx
push 1
lea ecx, [esp + 0x3a0]
mov dword [esp + 0x1f8], eax
call fcn.10057300
lea edx, [esp + 0xac]
push edx
push ebp
push 1
lea ecx, [esp + 0x3a4]
call fcn.10057320
lea eax, [esp + 0x398]
push eax
lea ecx, [esp + 0x1a4]
push ecx
mov ecx, dword [esp + 0x788]
call fcn.1005a2b0
mov ebx, dword [eax]
lea ecx, [esp + 0x398]
mov byte [esp + 0x770], 8
call fcn.10058030
jmp 0x100af12b
lea edx, [esp + 0x1b0]
push edx
lea eax, [esp + 0x1b0]
push eax
jmp 0x100af11d
lea ecx, [esp + 0x4c]
xor eax, eax
cmp esi, ecx
je 0x100aefd9
mov eax, dword [esi + 8]
cmp eax, dword [esp + 0x40]
jae 0x100af0c3
mov edx, eax
and eax, 0x1f
mov ecx, 1
mov dword [esp + 0x1c], ecx
mov ecx, eax
mov eax, dword [esp + 0x1c]
shl eax, cl
mov ecx, dword [esp + 0x3c]
shr edx, 5
test dword [ecx + edx*4], eax
setne al
test al, al
je 0x100af0c3
lea edx, [esp + 0x4c]
xor eax, eax
cmp esi, edx
je 0x100af01b
mov eax, dword [esi + 8]
cmp eax, dword [esp + 0x88]
jae 0x100af052
mov edx, eax
and eax, 0x1f
mov ecx, 1
mov dword [esp + 0x1c], ecx
mov ecx, eax
mov eax, dword [esp + 0x1c]
shl eax, cl
mov ecx, dword [esp + 0x84]
shr edx, 5
test dword [ecx + edx*4], eax
setne al
test al, al
jne case.0x100aee51.89
cmp edi, 0x63
jne case.0x100aee51.89
lea ecx, [esp + 0x580]
call fcn.10058000
lea ecx, [esp + 0x580]
mov byte [esp + 0x770], 0xa
call fcn.10057150
mov edx, dword [esp + 0x580]
and dl, 0x53
lea eax, [esp + 0x580]
push eax
lea ecx, [esp + 0x194]
push ecx
mov ecx, dword [esp + 0x788]
or edx, 0x53
mov dword [esp + 0x588], edx
call fcn.1005a2b0
mov ebx, dword [eax]
lea ecx, [esp + 0x580]
mov byte [esp + 0x770], 8
call fcn.10058030
jmp 0x100af12b
lea edx, [esp + 0x1b0]
push edx
lea eax, [esp + 0x1ac]
push eax
jmp 0x100af11d
lea ecx, [esp + 0x4c]
xor eax, eax
cmp esi, ecx
je 0x100af0e2
mov eax, dword [esi + 8]
cmp eax, dword [esp + 0x40]
jae 0x100af10d
mov edx, eax
and eax, 0x1f
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov edi, 1
shl edi, cl
shr edx, 5
test dword [eax + edx*4], edi
setne al
test al, al
je 0x100af10d
cmp dword [esp + 0x14], ebp
je case.0x100aee51.89
lea ecx, [esp + 0x1b0]
push ecx
lea edx, [esp + 0x1a8]
push edx
mov ecx, dword [esp + 0x788]
call fcn.1005a2b0
mov ebx, dword [eax]
mov esi, dword [esp + 0x58]
test bl, 1
je 0x100af49a
mov eax, dword [esp + 0x1b0]
and eax, 0xff
lea ecx, [eax - 0x4e]
cmp ecx, 0x1b
ja case.0x100af157.82
movzx ecx, byte [ecx + 0x100af704]
jmp dword [ecx*4 + 0x100af6dc]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], edx
call fcn.10059710
cmp eax, ebp
je 0x100af231
mov edx, dword [esp + 0x28]
mov dword [eax + 0xc], esi
mov ecx, dword [esi + 0x10]
mov dword [eax + 0x10], ecx
mov dword [ecx + 0xc], eax
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x10], eax
mov esi, dword [esp + 0xc4]
lea eax, [esp + 0x1c]
mov edi, 1
add dword [esp + 0x60], edi
push eax
lea ecx, [esp + 0xb4]
mov dword [esp + 0x20], edx
call fcn.10059710
cmp eax, ebp
je 0x100af231
mov edx, dword [esp + 0x14]
mov dword [eax + 0xc], esi
mov esi, dword [esi + 0x10]
mov dword [eax + 0x10], esi
mov dword [esi + 0xc], eax
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x10], eax
add dword [esp + 0xcc], edi
push edx
lea ecx, [esp + 0x124]
call fcn.100b3290
test al, al
je 0x100af231
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x15c]
call fcn.100b3290
test al, al
je 0x100af231
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0xec]
call fcn.100b3350
test al, al
je 0x100af231
add dword [esp + 0x20], edi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov byte [esp + 0x24], 0
jmp case.0x100af157.82
mov esi, dword [esp + 0x58]
and ebx, 0xfffffffe
or ebx, 8
jmp case.0x100af157.82
cmp byte [esp + 0x13], 0
je 0x100af279
cmp byte [esp + 0x24], 0
jne 0x100af279
lea edx, [esp + 0x4c]
cmp esi, edx
jne 0x100af25e
and ebx, 0xfffffffe
or ebx, 2
jmp 0x100af279
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0x38]
call fcn.10059c10
mov eax, dword [esp + 0x784]
mov esi, dword [esp + 0x58]
mov byte [eax], 1
test bl, 1
je 0x100af49a
lea ecx, [esp + 0x4c]
cmp esi, ecx
je 0x100af3b6
lea edx, [esp + 0xb8]
cmp dword [esp + 0xc4], edx
je 0x100af3b6
lea eax, [esp + 0x128]
cmp dword [esp + 0x134], eax
je 0x100af3b6
lea ecx, [esp + 0x160]
cmp dword [esp + 0x16c], ecx
je 0x100af3b6
lea edx, [esp + 0xf0]
cmp dword [esp + 0xfc], edx
je 0x100af3b6
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [edx + 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xfc]
mov cl, byte [eax + 8]
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x44]
mov dword [esp + 0x18], edx
call fcn.101b51d0
lea ecx, [esp + 0xb0]
call fcn.101b51d0
lea ecx, [esp + 0x120]
call fcn.101b51d0
lea ecx, [esp + 0x158]
call fcn.101b51d0
lea ecx, [esp + 0xe8]
call fcn.100b3390
mov esi, dword [esp + 0x58]
jmp case.0x100af157.82
mov ecx, dword [esp + 0x28]
add ecx, 1
cmp ecx, 1
mov dword [esp + 0x28], ecx
ja 0x100af415
cmp eax, 0x61
jne 0x100af3be
mov edx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1ec]
shrd edx, eax, 0xf
and edx, 0xf
shr eax, 0xf
cmp dl, 9
jne 0x100af3b6
lea ecx, [esp + 0x4c]
xor eax, eax
cmp esi, ecx
je 0x100af39b
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x220]
push edx
push eax
lea ecx, [esp + 0x98]
call fcn.10089130
mov esi, dword [esp + 0x58]
jmp case.0x100af157.82
and ebx, 0xfffffffe
or ebx, 2
jmp case.0x100af157.82
cmp byte [esp + 0x13], 0
je case.0x100af157.82
lea ecx, [esp + 0x4c]
xor eax, eax
cmp esi, ecx
je 0x100af3d2
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0x80]
call fcn.10059c10
mov esi, dword [esp + 0x58]
jmp case.0x100af157.82
add dword [esp + 0x14], 1
jmp case.0x100af157.82
sub dword [esp + 0x14], 1
jmp case.0x100af157.82
add dword [esp + 0x18], 1
jmp case.0x100af157.82
sub dword [esp + 0x18], 1
jmp case.0x100af157.82
cmp dword [esp + 0x14], ebp
jne case.0x100af157.82
cmp dword [esp + 0x18], ebp
jbe case.0x100af157.82
jmp 0x100af415
cmp dword [esp + 0x14], ebp
jne case.0x100af157.82
mov byte [esp + 0x24], 1
test bl, 1
je 0x100af49a
cmp byte [esp + 0x13], 0
jne 0x100af49a
mov eax, dword [esp + 0x1b0]
and eax, 0xff
cmp eax, 0x58
je 0x100af49a
cmp eax, 0x5f
jle 0x100af441
cmp eax, 0x63
jle 0x100af49a
lea edx, [esp + 0x194]
push edx
lea ecx, [esp + 0x1b4]
call fcn.100575b0
mov ebx, dword [eax]
test bl, 1
je 0x100af496
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0x780]
push eax
add ecx, 8
call fcn.10059f50
cmp eax, ebp
je 0x100af490
push eax
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x1b8]
call fcn.10057da0
mov ebx, dword [eax]
jmp 0x100af496
and ebx, 0xfffffffe
or ebx, 8
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jb 0x100aedd0
cmp byte [esp + 0x13], 0
je 0x100af4d0
mov edx, dword [esp + 0x784]
cmp byte [edx], 0
je 0x100af4d0
test bl, 1
mov byte [esp + 0x13], 0
jne 0x100aedb0
mov edi, dword [esp + 0x98]
cmp edi, ebp
mov esi, dword [esp + 0x778]
mov dword [esi], ebx
mov byte [esp + 0x770], 7
mov dword [esp + 0x90], 0x10206778
je 0x100af550
call fcn.10054450
test eax, eax
je 0x100af50d
push 0x82
call fcn.10054f00
add esp, 4
call fcn.10054450
test eax, eax
je 0x100af522
push 1
push 0x2b
call fcn.10054f50
add esp, 8
push 0x1ad
push str.d:ccviews_autobuild1_br_0810_2282_15.11_snapshotgfx_development_sourceghal3dibdw_allocator.h
push edi
call fcn.1000baa0
add esp, 0xc
call fcn.10054450
test eax, eax
je 0x100af549
push ebp
push 0x2b
call fcn.10054f50
add esp, 8
mov dword [esp + 0x98], ebp
lea ecx, [esp + 0x90]
mov dword [esp + 0xa0], ebp
call fcn.100c2710
mov byte [esp + 0x770], 6
call fcn.10054450
test eax, eax
je 0x100af581
push 0x82
call fcn.10054f00
add esp, 4
call fcn.10054450
test eax, eax
je 0x100af596
push 1
push 0x2b
call fcn.10054f50
add esp, 8
mov eax, dword [esp + 0x84]
cmp eax, ebp
je 0x100af5b4
push 0x1ad
push str.d:ccviews_autobuild1_br_0810_2282_15.11_snapshotgfx_development_sourceghal3dibdw_allocator.h
push eax
call fcn.1000baa0
add esp, 0xc
call fcn.10054450
test eax, eax
je 0x100af5c8
push ebp
push 0x2b
call fcn.10054f50
add esp, 8
mov byte [esp + 0x770], 5
call fcn.10054450
test eax, eax
je 0x100af5e6
push 0x82
call fcn.10054f00
add esp, 4
call fcn.10054450
test eax, eax
je 0x100af5fb
push 1
push 0x2b
call fcn.10054f50
add esp, 8
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x100af616
push 0x1ad
push str.d:ccviews_autobuild1_br_0810_2282_15.11_snapshotgfx_development_sourceghal3dibdw_allocator.h
push eax
call fcn.1000baa0
add esp, 0xc
call fcn.10054450
test eax, eax
je 0x100af62a
push ebp
push 0x2b
call fcn.10054f50
add esp, 8
lea ecx, [esp + 0xe8]
mov byte [esp + 0x770], 4
call fcn.100b32d0
lea ecx, [esp + 0x158]
mov byte [esp + 0x770], 3
call fcn.10059c90
lea ecx, [esp + 0x120]
mov byte [esp + 0x770], 2
call fcn.10059c90
lea ecx, [esp + 0xb0]
mov byte [esp + 0x770], 1
call fcn.10059c90
lea ecx, [esp + 0x44]
mov byte [esp + 0x770], 0
call fcn.10059c90
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x770], 0xffffffff
call fcn.10058030
mov ecx, dword [esp + 0x768]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x764
ret 0x10