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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x78], ebp
mov dword [esi + 0x7c], esp
mov dword [esi + 0x88], 0xffffffff
lea eax, [esi + 0x80]
mov dword [esi + 0x84], 0x10047560
mov edx, dword fs:[0]
mov dword [esi + 0x80], edx
mov dword fs:[0], eax
mov edi, dword [ecx + 0x3c]
mov edx, dword [ecx + 0x40]
cmp edi, edx
mov dword [esi + 0x34], ecx
je 0x1002f107
mov dword [esi + 4], edx
jmp 0x1002f0cf
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.10157950
add esp, 8
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 4]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
add edi, 0x18
cmp edi, edx
je 0x1002f0f7
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x1002f0b7
mov ecx, dword [edi]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x1002f0a7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x1002f0a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [ecx + 0x3c]
mov dword [ecx + 0x40], eax
mov dword [esi + 0x88], 0xffffffff
call fcn.1015835a
lea edi, [esi + 0x48]
push 0x15
push str.c:_supremacyconfigs_
push eax
push edi
call fcn.1001c880
add esp, 0x10
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x88], 0
lea eax, [esi + 8]
push 0
push edi
push eax
call fcn.10033c30
add esp, 0xc
test eax, eax
jne 0x1002f65b
mov eax, dword [esi + 0x5c]
cmp eax, 8
jb 0x1002f18c
mov ecx, dword [esi + 0x48]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1002f182
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f0f1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1002f19c
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
jmp 0x1002f19e
xor eax, eax
mov ecx, dword [esi + 8]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], eax
mov ebx, esp
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1002f1e4
lock inc dword [eax + 4]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
test edi, edi
je 0x1002f1f2
lock dec dword [edi + 4]
jne 0x1002f1f2
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f1f2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x1002f1f2
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x34]
add eax, 0x3c
mov dword [esi + 0x6c], eax
mov esp, ebx
mov eax, dword [esi + 0x38]
mov dword [esi + 0x70], eax
nop word cs:[eax + eax]
mov ebx, dword [esi + 0x40]
cmp ebx, dword [esi + 0x70]
je 0x1002f5ce
lea edi, [ebx + 0x20]
cmp dword [ebx + 0x34], 8
mov eax, edi
jb 0x1002f22a
mov eax, dword [ebx + 0x20]
push 0xffffffffffffffff
push 3
lea ecx, [esi + 0x48]
push ecx
push eax
call fcn.101580cd
cmp eax, 0x34
mov dword [esi + 0x74], ebx
jg 0x1002f280
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x1002f28e
test eax, eax
jne 0x1002f642
mov eax, dword [esi + 0x58]
test eax, 0x400
je 0x1002f26d
mov ecx, dword [esi + 0x5c]
cmp ecx, 0xa0000003
je 0x1002f28e
cmp ecx, 0xa000000c
je 0x1002f28e
mov dword [esi + 0x88], 1
test al, 0x10
je 0x1002f298
jmp 0x1002f5a2
cmp eax, 0x35
je 0x1002f28e
cmp eax, 0x7b
jne 0x1002f642
mov dword [esi + 0x88], 1
mov dword [esi + 4], edi
mov ecx, edi
lea eax, [esi + 0x10]
push eax
call fcn.1002f750
cmp dword [esi + 0x24], 8
lea edi, [esi + 0x10]
jb 0x1002f2b2
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
call fcn.1015835a
mov dword [esi + 0x88], 2
mov ecx, esi
push ecx
push ebx
push edi
push eax
lea eax, [esi + 0x48]
push eax
call fcn.10034ee0
add esp, 0x14
mov eax, dword [esi + 0x5c]
cmp dword [esi + 0x58], 4
jne 0x1002f300
lea ecx, [esi + 0x48]
cmp eax, 0x10
jb 0x1002f2ea
mov ecx, dword [esi + 0x48]
cmp dword [ecx], 0x6766632e
sete bl
cmp eax, 0x10
jae 0x1002f307
jmp 0x1002f337
xor ebx, ebx
cmp eax, 0x10
jb 0x1002f337
mov ecx, dword [esi + 0x48]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1002f32d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f0f1
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0xf
mov byte [esi + 0x48], 0
mov eax, dword [esi + 0x24]
cmp eax, 8
jb 0x1002f386
mov ecx, dword [esi + 0x10]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1002f37c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f0f1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
test bl, bl
mov ecx, dword [esi + 4]
je 0x1002f5a2
mov eax, dword [esi + 0x74]
cmp dword [eax + 0x34], 8
jb 0x1002f39d
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x30]
lea eax, [ecx + eax*2]
mov dword [esi + 0x88], 1
mov dword [esi + 4], eax
push eax
push ecx
call fcn.100343d0
add esp, 8
mov edi, dword [esi + 4]
mov edx, edi
cmp eax, edi
je 0x1002f3e8
mov edx, eax
jmp 0x1002f3d7
add edx, 2
cmp edx, edi
je 0x1002f3e6
movzx eax, word [edx]
cmp eax, 0x5c
je 0x1002f3d0
cmp eax, 0x2f
je 0x1002f3d0
jmp 0x1002f3e8
mov edx, edi
mov eax, edi
nop word [eax + eax]
cmp eax, edx
je 0x1002f414
movzx ecx, word [eax - 2]
add eax, 0xfffffffe
cmp ecx, 0x5c
je 0x1002f405
cmp ecx, 0x2f
jne 0x1002f3f0
add eax, 2
mov dword [esi + 0x88], 1
mov edx, eax
sub edi, edx
sar edi, 1
xorps xmm0, xmm0
movaps xmmword [esi + 0x10], xmm0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x88], 1
lea ecx, [esi + 0x10]
push edi
push edx
call fcn.100348a0
cmp dword [esi + 0x24], 8
lea edi, [esi + 0x10]
jb 0x1002f44d
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
call fcn.1015835a
mov dword [esi + 0x88], 3
mov ecx, esi
push ecx
push ebx
push edi
push eax
lea eax, [esi + 0x48]
push eax
call fcn.10034ee0
add esp, 0x14
mov eax, dword [esi + 0x24]
cmp eax, 8
jb 0x1002f4ae
mov ecx, dword [esi + 0x10]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1002f4a4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f0f1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov eax, dword [esi + 0x58]
add eax, 0xfffffffc
mov dword [esi + 0x88], 4
lea ecx, [esi + 0x10]
mov edx, esi
push edx
push eax
push 0
lea eax, [esi + 0x48]
push eax
call fcn.10035360
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1002f506
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [eax], xmm0
movsd xmm0, qword [esi + 0x20]
movsd qword [eax + 0x10], xmm0
add dword [ecx + 0x40], 0x18
jmp 0x1002f560
mov dword [esi + 0x88], 5
mov ecx, dword [esi + 0x6c]
lea edx, [esi + 0x10]
push edx
push eax
call fcn.10035030
mov eax, dword [esi + 0x24]
cmp eax, 0x10
jb 0x1002f560
mov ecx, dword [esi + 0x10]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1002f54b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f0f1
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
nop word cs:[eax + eax]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x1002f598
mov ecx, dword [esi + 0x48]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1002f58e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f0f1
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov dword [esi + 0x88], 1
mov dword [esi + 0x88], 1
lea eax, [esi + 0x40]
push eax
call fcn.10035450
add esp, 4
test eax, eax
je 0x1002f210
push eax
push str.recursive_directory_iterator::operator
call fcn.10035610
add esp, 8
mov edi, dword [esi + 0x3c]
test edi, edi
je 0x1002f5ee
lock dec dword [edi + 4]
jne 0x1002f5ee
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f5ee
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1002f60e
lock dec dword [edi + 4]
jne 0x1002f60e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f60e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [esi + 0xc]
test edi, edi
je 0x1002f62e
lock dec dword [edi + 4]
jne 0x1002f62e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f62e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [esi + 0x80]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x88], 1
push edi
push eax
push str.status
call fcn.1001ac00
add esp, 0xc
lea ecx, [esi + 0x48]
push ecx
push eax
push str.recursive_directory_iterator::recursive_directory_iterator
call fcn.1001ac00
add esp, 0xc
nop dword [eax]
push ebp
sub esp, 0x14
lea esi, [ebp - 0x8c]
mov ebp, dword [esi + 0x78]
lea ecx, [esi + 8]
call fcn.1002f840
lea ecx, [esi + 0x48]
call fcn.10015350
add esp, 0x14
pop ebp
ret