Function at 0x1002ef90
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], 0x10047490
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 0x1002f057
mov dword [esi + 4], edx
jmp 0x1002f01f
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.10155aa0
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 0x1002f047
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x1002f007
mov ecx, dword [edi]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x1002eff7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x1002eff0
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.101564aa
lea edi, [esi + 0x48]
push 0x15
push str.c:_supremacyconfigs_
push eax
push edi
call fcn.1001c7c0
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.10033b70
add esp, 0xc
test eax, eax
jne 0x1002f5ab
mov eax, dword [esi + 0x5c]
cmp eax, 8
jb 0x1002f0dc
mov ecx, dword [esi + 0x48]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1002f0d2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f041
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
add esp, 8
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1002f0ec
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
jmp 0x1002f0ee
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 0x1002f134
lock inc dword [eax + 4]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
test edi, edi
je 0x1002f142
lock dec dword [edi + 4]
jne 0x1002f142
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f142
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x1002f142
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 0x1002f51e
lea edi, [ebx + 0x20]
cmp dword [ebx + 0x34], 8
mov eax, edi
jb 0x1002f17a
mov eax, dword [ebx + 0x20]
push 0xffffffffffffffff
push 3
lea ecx, [esi + 0x48]
push ecx
push eax
call fcn.1015621d
cmp eax, 0x34
mov dword [esi + 0x74], ebx
jg 0x1002f1d0
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x1002f1de
test eax, eax
jne 0x1002f592
mov eax, dword [esi + 0x58]
test eax, 0x400
je 0x1002f1bd
mov ecx, dword [esi + 0x5c]
cmp ecx, 0xa0000003
je 0x1002f1de
cmp ecx, 0xa000000c
je 0x1002f1de
mov dword [esi + 0x88], 1
test al, 0x10
je 0x1002f1e8
jmp 0x1002f4f2
cmp eax, 0x35
je 0x1002f1de
cmp eax, 0x7b
jne 0x1002f592
mov dword [esi + 0x88], 1
mov dword [esi + 4], edi
mov ecx, edi
lea eax, [esi + 0x10]
push eax
call fcn.1002f6a0
cmp dword [esi + 0x24], 8
lea edi, [esi + 0x10]
jb 0x1002f202
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
call fcn.101564aa
mov dword [esi + 0x88], 2
mov ecx, esi
push ecx
push ebx
push edi
push eax
lea eax, [esi + 0x48]
push eax
call fcn.10034e20
add esp, 0x14
mov eax, dword [esi + 0x5c]
cmp dword [esi + 0x58], 4
jne 0x1002f250
lea ecx, [esi + 0x48]
cmp eax, 0x10
jb 0x1002f23a
mov ecx, dword [esi + 0x48]
cmp dword [ecx], 0x6766632e
sete bl
cmp eax, 0x10
jae 0x1002f257
jmp 0x1002f287
xor ebx, ebx
cmp eax, 0x10
jb 0x1002f287
mov ecx, dword [esi + 0x48]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1002f27d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f041
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
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 0x1002f2d6
mov ecx, dword [esi + 0x10]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1002f2cc
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f041
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
add esp, 8
test bl, bl
mov ecx, dword [esi + 4]
je 0x1002f4f2
mov eax, dword [esi + 0x74]
cmp dword [eax + 0x34], 8
jb 0x1002f2ed
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.10034310
add esp, 8
mov edi, dword [esi + 4]
mov edx, edi
cmp eax, edi
je 0x1002f338
mov edx, eax
jmp 0x1002f327
add edx, 2
cmp edx, edi
je 0x1002f336
movzx eax, word [edx]
cmp eax, 0x5c
je 0x1002f320
cmp eax, 0x2f
je 0x1002f320
jmp 0x1002f338
mov edx, edi
mov eax, edi
nop word [eax + eax]
cmp eax, edx
je 0x1002f364
movzx ecx, word [eax - 2]
add eax, 0xfffffffe
cmp ecx, 0x5c
je 0x1002f355
cmp ecx, 0x2f
jne 0x1002f340
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.100347e0
cmp dword [esi + 0x24], 8
lea edi, [esi + 0x10]
jb 0x1002f39d
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
call fcn.101564aa
mov dword [esi + 0x88], 3
mov ecx, esi
push ecx
push ebx
push edi
push eax
lea eax, [esi + 0x48]
push eax
call fcn.10034e20
add esp, 0x14
mov eax, dword [esi + 0x24]
cmp eax, 8
jb 0x1002f3fe
mov ecx, dword [esi + 0x10]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1002f3f4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f041
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
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.100352a0
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
je 0x1002f456
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 0x1002f4b0
mov dword [esi + 0x88], 5
mov ecx, dword [esi + 0x6c]
lea edx, [esi + 0x10]
push edx
push eax
call fcn.10034f70
mov eax, dword [esi + 0x24]
cmp eax, 0x10
jb 0x1002f4b0
mov ecx, dword [esi + 0x10]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1002f49b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f041
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
add esp, 8
nop word cs:[eax + eax]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x1002f4e8
mov ecx, dword [esi + 0x48]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1002f4de
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1002f041
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
add esp, 8
mov dword [esi + 0x88], 1
mov dword [esi + 0x88], 1
lea eax, [esi + 0x40]
push eax
call fcn.10035390
add esp, 4
test eax, eax
je 0x1002f160
push eax
push str.recursive_directory_iterator::operator
call fcn.10035550
add esp, 8
mov edi, dword [esi + 0x3c]
test edi, edi
je 0x1002f53e
lock dec dword [edi + 4]
jne 0x1002f53e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f53e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1002f55e
lock dec dword [edi + 4]
jne 0x1002f55e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f55e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [esi + 0xc]
test edi, edi
je 0x1002f57e
lock dec dword [edi + 4]
jne 0x1002f57e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x1002f57e
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.1001acd0
add esp, 0xc
lea ecx, [esi + 0x48]
push ecx
push eax
push str.recursive_directory_iterator::recursive_directory_iterator
call fcn.1001acd0
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.1002f790
lea ecx, [esi + 0x48]
call fcn.10015420
add esp, 0x14
pop ebp
ret