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

Disassembly:
sub esp, 0x5c
mov eax, dword [esp + 0x60]
xor ecx, ecx
push ebx
push edi
mov dword [esp + 0x14], 0
mov edi, dword [eax + 0x68]
mov ebx, dword [eax + 0x2b8]
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], ebx
mov edx, dword [edi + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], ecx
cmp byte [eax + 0x2b5], cl
je 0x102ffd98
test ebx, ebx
je 0x102ffd98
push esi
mov esi, dword [esp + 0x70]
cmp esi, dword [ebx + 0x44]
jae 0x102ffd8f
mov eax, dword [ebx + 0x48]
lea ecx, [eax + esi*4]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x102ffd8f
push ebp
mov ebp, dword [esp + 0x7c]
lea eax, [esp + 0x10]
push eax
push 0
push ebp
push 0
push 8
push edx
call fcn.102dda70
add esp, 0x18
mov dword [esp + 0x20], eax
cmp dword [esp + 0x10], 0
jne 0x102ffd59
lea eax, [esp + 0x10]
push eax
push 0
push ebp
push 0
push 8
push dword [esp + 0x28]
call fcn.102dda70
add esp, 0x18
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], 0
jne 0x102ffd59
lea eax, [esp + 0x10]
push eax
push 0
push ebp
push 0
push 1
push dword [esp + 0x28]
call fcn.102dda70
add esp, 0x18
mov dword [esp + 0x24], eax
cmp dword [esp + 0x10], 0
jne 0x102ffd59
mov ecx, dword [ebx + 0x48]
push dword [ecx + esi*4]
push edi
call fcn.102dfc20
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x102ffd59
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + esi*4 + 4]
sub ecx, dword [eax + esi*4]
push ecx
push edi
call fcn.102dfdc0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x102ffd59
mov esi, dword [edi + 0x20]
lea eax, [esp + 0x10]
sub esi, dword [edi]
push eax
push 0
push dword [ebx]
push 0
push 4
push dword [esp + 0x28]
call fcn.102dda70
add esp, 0x18
mov dword [esp + 0x30], eax
cmp dword [esp + 0x10], 0
jne 0x102ff8c0
lea eax, [esp + 0x10]
push eax
push 0
push dword [ebx]
push 0
push 4
push dword [esp + 0x28]
call fcn.102dda70
add esp, 0x18
mov dword [esp + 0x34], eax
cmp dword [esp + 0x10], 0
jne 0x102ff8c0
lea eax, [esp + 0x10]
push eax
push 0
push dword [ebx]
push 0
push 4
push dword [esp + 0x28]
call fcn.102dda70
add esp, 0x18
mov dword [esp + 0x38], eax
cmp dword [esp + 0x10], 0
jne 0x102ff8c0
push edi
call fcn.102dff70
push dword [esp + 0x1c]
movzx edi, ax
call fcn.102dff70
movzx ecx, ax
add esp, 8
mov eax, edi
and eax, 0xfff
mov dword [esp + 0x60], eax
lea eax, [ecx + eax*4]
cmp eax, dword [ebx + 0x4c]
jbe 0x102ff8d5
mov dword [esp + 0x10], 8
xor eax, eax
mov ebx, dword [esp + 0x14]
push eax
push ebx
call fcn.102ddbf0
add esp, 8
jmp 0x102ffd2f
add ecx, esi
mov dword [esp + 0x2c], ecx
test edi, 0x8000
je 0x102ff918
mov edi, dword [esp + 0x18]
mov esi, dword [edi + 0x20]
mov eax, dword [edi]
sub esi, eax
add eax, ecx
mov dword [edi + 0x20], eax
lea eax, [esp + 0x4c]
push eax
push dword [ebx + 0x4c]
push edi
call fcn.103022d0
mov ecx, dword [edi]
add esp, 0xc
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x20]
sub eax, ecx
add ecx, esi
mov dword [esp + 0x2c], eax
mov dword [edi + 0x20], ecx
xor edx, edx
test ebp, ebp
je 0x102ff93c
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
mov ecx, dword [esi + 4]
mov eax, dword [ecx + edx*8]
mov dword [edi + edx*8], eax
mov eax, dword [ecx + edx*8 + 4]
mov dword [edi + edx*8 + 4], eax
inc edx
cmp edx, ebp
jb 0x102ff926
cmp dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
jbe 0x102ffd1e
mov ebp, dword [esp + 0x18]
push ebp
call fcn.102dff70
movzx eax, ax
push ebp
mov dword [esp + 0x70], eax
call fcn.102dff70
movzx edi, ax
add esp, 8
mov dword [esp + 0x28], edi
test edi, 0x8000
je 0x102ff99d
xor esi, esi
cmp dword [ebx], esi
jbe 0x102ff9ce
mov edi, dword [esp + 0x30]
push ebp
call fcn.102dff70
cwde
add esp, 4
shl eax, 2
mov dword [edi + esi*4], eax
inc esi
cmp esi, dword [ebx]
jb 0x102ff982
mov edi, dword [esp + 0x28]
jmp 0x102ff9ce
mov edx, edi
and edx, 0xfff
cmp edx, dword [ebx + 0x3c]
jae 0x102ffd16
mov ecx, dword [ebx]
imul edx, ecx
lea eax, [ecx*4]
push eax
mov eax, dword [ebx + 0x40]
lea eax, [eax + edx*4]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
test edi, 0x4000
je 0x102ffa1c
xor esi, esi
cmp dword [ebx], esi
jbe 0x102ff9f9
mov edi, dword [esp + 0x34]
push ebp
call fcn.102dff70
cwde
add esp, 4
shl eax, 2
mov dword [edi + esi*4], eax
inc esi
cmp esi, dword [ebx]
jb 0x102ff9e0
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [ebx], esi
jbe 0x102ffa1c
mov edi, dword [esp + 0x38]
push ebp
call fcn.102dff70
cwde
add esp, 4
shl eax, 2
mov dword [edi + esi*4], eax
inc esi
cmp esi, dword [ebx]
jb 0x102ffa03
mov edi, dword [esp + 0x28]
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [esp + 0x38]
push edi
push ebx
call fcn.103039d0
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
je 0x102ffcf9
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp]
sub eax, ecx
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], eax
mov dword [ebp + 0x20], ecx
test edi, 0x2000
je 0x102ffa7a
lea eax, [esp + 0x50]
push eax
push dword [ebx + 0x4c]
push ebp
call fcn.103022d0
mov ebx, dword [esp + 0x5c]
add esp, 0xc
mov dword [esp + 0x3c], eax
mov ebp, eax
mov dword [esp + 0x54], eax
jmp 0x102ffa8a
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x44]
test ebx, ebx
mov edi, dword [esp + 0x7c]
mov esi, ebx
cmove esi, edi
push esi
push dword [eax + 0x4c]
push dword [esp + 0x20]
call fcn.10302440
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
push esi
push dword [eax + 0x4c]
push dword [esp + 0x2c]
call fcn.10302440
add esp, 0x18
mov edx, eax
mov dword [esp + 0x58], edx
test ebp, ebp
je 0x102ffcb3
test edx, edx
je 0x102ffcb3
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x102ffcb3
cmp ebp, 0xffffffff
jne 0x102ffbb0
mov ebp, edi
xor esi, esi
test ebp, ebp
je 0x102ffcb3
mov eax, ecx
mov ebx, edx
sub eax, edx
mov dword [esp + 0x54], eax
nop
push dword [esp + 0x28]
movsx eax, word [eax + ebx]
push eax
call fcn.102dd040
push dword [esp + 0x30]
movsx ecx, word [ebx]
mov edi, eax
push ecx
call fcn.102dd040
mov edx, eax
add esp, 0x10
lea eax, [ebp - 3]
cmp esi, eax
jae 0x102ffb3c
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
add dword [ecx + esi*8], edi
mov eax, dword [eax + 4]
add dword [eax + esi*8 + 4], edx
jmp 0x102ffb9b
mov ecx, dword [esp + 0x70]
jne 0x102ffb57
test byte [ecx + 0x2c0], 2
jne 0x102ffb57
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
add dword [eax + esi*8], edi
jmp 0x102ffb9b
lea eax, [ebp - 2]
cmp esi, eax
jne 0x102ffb73
test byte [ecx + 0x2c0], 4
jne 0x102ffb73
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
add dword [eax + esi*8], edi
jmp 0x102ffb9b
lea eax, [ebp - 1]
cmp esi, eax
jne 0x102ffb83
test byte [ecx + 0x2c0], 0x10
je 0x102ffb90
cmp esi, ebp
jne 0x102ffb9b
test byte [ecx + 0x2c0], 0x20
jne 0x102ffb9b
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
add dword [eax + esi*8 + 4], edx
mov eax, dword [esp + 0x54]
inc esi
add ebx, 2
cmp esi, ebp
jb 0x102ffb00
jmp 0x102ffcb3
xor edx, edx
test edi, edi
je 0x102ffbe6
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
sub esi, ecx
mov ebp, dword [esp + 0x24]
mov byte [edx + ebp], 0
lea ecx, [ecx + 8]
mov eax, dword [esi + ecx - 8]
inc edx
mov dword [ecx - 8], eax
mov eax, dword [esi + ecx - 4]
mov dword [ecx - 4], eax
cmp edx, edi
jb 0x102ffbc4
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
test ebx, ebx
je 0x102ffc4b
mov eax, dword [esp + 0x58]
sub ebp, ecx
sub eax, ecx
mov esi, ecx
mov dword [esp + 0x54], eax
nop dword [eax + eax]
movzx edi, word [esi + ebp]
cmp edi, dword [esp + 0x7c]
jae 0x102ffc43
mov eax, dword [esp + 0x24]
push dword [esp + 0x28]
mov byte [edi + eax], 1
movsx eax, word [esi]
push eax
call fcn.102dd040
mov ecx, dword [esp + 0x24]
push dword [esp + 0x30]
add dword [ecx + edi*8], eax
mov eax, dword [esp + 0x60]
movsx eax, word [eax + esi]
push eax
call fcn.102dd040
mov ecx, dword [esp + 0x2c]
add esp, 0x10
add dword [ecx + edi*8 + 4], eax
add esi, 2
sub ebx, 1
jne 0x102ffc00
push dword [esp + 0x24]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
push esi
push ebx
push dword [esp + 0x84]
call fcn.10304200
mov ebp, dword [esp + 0x8c]
add esp, 0x10
xor edi, edi
test ebp, ebp
je 0x102ffcb3
sub ebx, esi
nop word [eax + eax]
mov eax, dword [esp + 0x78]
lea edx, [esi + edi*8]
mov esi, dword [edx + ebx + 4]
sub esi, dword [edx + 4]
mov eax, dword [eax + 4]
lea ecx, [eax + edi*8]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + edi*8]
sub eax, dword [edx]
add dword [ecx], eax
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
add dword [eax + edi*8 + 4], esi
inc edi
mov esi, dword [esp + 0x20]
cmp edi, ebp
jb 0x102ffc80
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
cmp esi, 0xffffffff
je 0x102ffcd0
push esi
push ebx
call fcn.102ddbf0
add esp, 8
xor ecx, ecx
mov dword [esp + 0x3c], ecx
push dword [esp + 0x40]
push ebx
call fcn.102ddbf0
push dword [esp + 0x60]
push ebx
call fcn.102ddbf0
mov ebp, dword [esp + 0x28]
add esp, 0x10
mov ebx, dword [esp + 0x44]
mov eax, dword [ebp]
add eax, dword [esp + 0x64]
mov dword [ebp + 0x20], eax
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x68]
inc esi
add dword [esp + 0x2c], eax
mov dword [esp + 0x5c], esi
cmp esi, dword [esp + 0x60]
jb 0x102ff953
jmp 0x102ffd1e
mov dword [esp + 0x10], 8
mov eax, dword [esp + 0x48]
cmp eax, 0xffffffff
jne 0x102ff8c2
mov ebx, dword [esp + 0x14]
push dword [esp + 0x30]
push ebx
call fcn.102ddbf0
push dword [esp + 0x3c]
push ebx
call fcn.102ddbf0
push dword [esp + 0x48]
push ebx
call fcn.102ddbf0
push dword [esp + 0x30]
call fcn.102dfea0
add esp, 0x1c
push dword [esp + 0x20]
push dword [esp + 0x18]
call fcn.102ddbf0
push dword [esp + 0x24]
push dword [esp + 0x20]
call fcn.102ddbf0
push dword [esp + 0x34]
push dword [esp + 0x28]
call fcn.102ddbf0
mov eax, dword [esp + 0x28]
add esp, 0x18
pop ebp
pop esi
pop edi
pop ebx
add esp, 0x5c
ret
pop esi
pop edi
xor eax, eax
pop ebx
add esp, 0x5c
ret
pop edi
mov eax, 6
pop ebx
add esp, 0x5c
ret