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

Disassembly:
sub esp, 0x3c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
mov ebx, dword [ecx + 8]
push edi
xor edi, edi
mov dword [esp + 8], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], edi
cmp dword [eax], edi
jle 0x1002fd4a
add eax, 8
push ebp
mov dword [esp + 0x18], eax
push esi
nop
lea ecx, [esp + 0x18]
mov dword [esp + 0x54], 0
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x20], 0
push ecx
push dword [eax]
lea eax, [esp + 0x3c]
push eax
call fcn.10024170
mov ecx, dword [ebx]
add esp, 0x14
mov dword [esp + 0x20], eax
cmp byte [ecx + 0x57], 0
jne 0x1002fab5
movzx ecx, word [ebx + 0x90]
mov ebp, dword [esp + 0x54]
lea ecx, [edi + ecx*2]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + edx*8]
test ebp, ebp
jne 0x1002f9d8
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1002f9ca
push esi
call fcn.10097910
add esp, 4
jmp 0x1002fab5
mov edx, 1
mov word [esi + 0x10], dx
jmp 0x1002faba
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1002f9e4
mov edx, dword [eax + 0x78]
jmp 0x1002f9e9
mov edx, 0x3b9aca00
mov edi, ebp
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x1002f9f0
sub edi, ecx
mov eax, edx
xor ecx, ecx
cdq
cmp ecx, edx
jl 0x1002fa51
jg 0x1002fa08
cmp edi, eax
jbe 0x1002fa51
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1002fa23
push esi
call fcn.10097910
add esp, 4
mov edx, 1
jmp 0x1002fa2c
mov edx, 1
mov word [esi + 0x10], dx
mov eax, dword [esi + 0x14]
mov edi, dword [esp + 0x50]
test eax, eax
je 0x1002faba
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x1002faba
inc dword [eax + 0x24]
mov dword [eax + 0xc], 0x12
jmp 0x1002faba
mov ebx, edi
add ebx, 1
adc ecx, ecx
jne 0x1002fa66
cmp ebx, 0x20
ja 0x1002fa66
mov eax, 0x20
jmp 0x1002fa68
mov eax, ebx
cmp dword [esi + 0x18], eax
jge 0x1002fa7f
push 0
push eax
push esi
call fcn.10085840
add esp, 0xc
test eax, eax
jne 0x1002faad
jmp 0x1002fa8a
mov eax, dword [esi + 0x20]
and word [esi + 0x10], 0x2d
mov dword [esi + 8], eax
push ebx
push ebp
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x12], 1
and edi, 0x7fffffff
mov eax, 0x202
mov dword [esi + 0xc], edi
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
mov edx, 1
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x1002fbd9
movzx eax, word [ebx + 0x90]
mov ebp, dword [esp + 0x14]
lea ecx, [edi + eax*2]
add ecx, eax
mov eax, dword [ebx + 0x74]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test ebp, ebp
jne 0x1002fb05
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1002fafc
push esi
call fcn.10097910
add esp, 4
jmp 0x1002fbd9
mov word [esi + 0x10], dx
jmp 0x1002fbd9
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1002fb11
mov edx, dword [eax + 0x78]
jmp 0x1002fb16
mov edx, 0x3b9aca00
mov edi, ebp
lea ecx, [edi + 1]
nop dword [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x1002fb20
sub edi, ecx
mov eax, edx
xor ecx, ecx
cdq
cmp ecx, edx
jl 0x1002fb79
jg 0x1002fb38
cmp edi, eax
jbe 0x1002fb79
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1002fb53
push esi
call fcn.10097910
add esp, 4
mov edx, 1
jmp 0x1002fb5c
mov edx, 1
mov word [esi + 0x10], dx
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1002fbde
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x1002fbde
inc dword [eax + 0x24]
mov dword [eax + 0xc], 0x12
jmp 0x1002fbde
mov ebx, edi
add ebx, 1
adc ecx, ecx
jne 0x1002fb8e
cmp ebx, 0x20
ja 0x1002fb8e
mov eax, 0x20
jmp 0x1002fb90
mov eax, ebx
cmp dword [esi + 0x18], eax
jge 0x1002fba7
push 0
push eax
push esi
call fcn.10085840
add esp, 0xc
test eax, eax
jne 0x1002fbd5
jmp 0x1002fbb2
mov eax, dword [esi + 0x20]
and word [esi + 0x10], 0x2d
mov dword [esi + 8], eax
push ebx
push ebp
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x12], 1
and edi, 0x7fffffff
mov eax, 0x202
mov dword [esi + 0xc], edi
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x10]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [esp + 0x50]
cmp byte [eax + 0x57], 0
jne 0x1002fcfd
movzx eax, word [ebx + 0x90]
mov ebp, dword [esp + 0x18]
lea eax, [edi + eax*4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x74]
lea esi, [eax + ecx*8]
test ebp, ebp
jne 0x1002fc2b
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1002fc22
push esi
call fcn.10097910
add esp, 4
jmp 0x1002fcfd
mov word [esi + 0x10], dx
jmp 0x1002fcfd
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1002fc37
mov edx, dword [eax + 0x78]
jmp 0x1002fc3c
mov edx, 0x3b9aca00
mov edi, ebp
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1002fc41
sub edi, ecx
mov eax, edx
xor ecx, ecx
cdq
cmp ecx, edx
jl 0x1002fc99
jg 0x1002fc59
cmp edi, eax
jbe 0x1002fc99
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1002fc6f
push esi
call fcn.10097910
add esp, 4
jmp 0x1002fc78
mov eax, 1
mov word [esi + 0x10], ax
mov eax, dword [esi + 0x14]
mov edi, dword [esp + 0x50]
test eax, eax
je 0x1002fcfd
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x1002fcfd
inc dword [eax + 0x24]
mov dword [eax + 0xc], 0x12
jmp 0x1002fcfd
mov ebx, edi
add ebx, 1
adc ecx, ecx
jne 0x1002fcae
cmp ebx, 0x20
ja 0x1002fcae
mov eax, 0x20
jmp 0x1002fcb0
mov eax, ebx
cmp dword [esi + 0x18], eax
jge 0x1002fcc7
push 0
push eax
push esi
call fcn.10085840
add esp, 0xc
test eax, eax
jne 0x1002fcf5
jmp 0x1002fcd2
mov eax, dword [esi + 0x20]
and word [esi + 0x10], 0x2d
mov dword [esi + 8], eax
push ebx
push ebp
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x12], 1
and edi, 0x7fffffff
mov eax, 0x202
mov dword [esi + 0xc], edi
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x1002fd2c
movzx eax, word [ebx + 0x90]
add eax, edi
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x74]
push 0xffffffffffffffff
push dword [esp + 0x30]
lea eax, [eax + ecx*8]
push eax
call fcn.10085d80
add esp, 0x18
mov ecx, dword [esp + 0x58]
inc edi
mov eax, dword [esp + 0x1c]
add eax, 0x14
mov dword [esp + 0x50], edi
mov dword [esp + 0x1c], eax
cmp edi, dword [ecx]
jl 0x1002f950
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x3c
ret