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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029e443
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x1058ac14]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x14], edi
mov ebx, dword [edi + 0xc]
mov dword [ebp - 4], 0
cmp dword [ebx], 0
jne 0x1023f125
mov eax, ecx
lea edx, [ebx + 0x10]
xor esi, esi
xor edi, edi
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x44]
add ecx, 0x44
cmp eax, dword [edx]
cmovl edx, ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
mov edx, dword [edx]
mov ecx, dword [ebx + 0xc]
sub edx, dword [eax + 0x40]
sub ecx, dword [eax + 0x40]
mov dword [ebp - 0x20], edx
cmp ecx, edx
jg 0x1023f0da
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
sub eax, ecx
inc eax
mov edx, dword [edx + 8]
cmp eax, 2
jl 0x1023f0c4
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x2c], eax
mov eax, dword [edx + 0x5c]
nop dword [eax]
add esi, dword [eax + ecx*4]
add edi, dword [eax + ecx*4 + 4]
add ecx, 2
cmp ecx, dword [ebp - 0x2c]
jle 0x1023f0b0
cmp ecx, dword [ebp - 0x20]
jg 0x1023f0d1
mov eax, dword [edx + 0x5c]
mov edx, dword [eax + ecx*4]
lea eax, [edi + esi]
add edx, eax
jmp 0x1023f0dc
xor edx, edx
lea eax, [edi + esi]
mov edx, eax
jmp 0x1023f0dc
xor edx, edx
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x1023f113
cmp dword [ebx + 8], edx
jge 0x1023f113
mov eax, dword [ecx]
call dword [eax + 8]
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0xc]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0xc]
push eax
mov ecx, dword [eax + 0x14]
push dword [eax + 0xc]
push dword [eax + 8]
mov edx, dword [ecx]
push dword [eax + 4]
call dword [edx + 0x14]
mov ecx, dword [edi + 0xc]
mov dword [ecx + 8], eax
jmp 0x1023f125
mov edi, dword [ebp - 0x14]
mov dword [ebx + 0x18], 1
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
mov dword [ecx], eax
mov esi, dword [edi + 8]
cmp dword [esi + 0x34], 0
jne 0x1023f13e
mov eax, dword [edi + 0x14]
mov ebx, dword [edi + 0x10]
inc eax
mov dword [ebp - 0x2c], 1
jmp 0x1023f14b
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
dec eax
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ebx
cmp ebx, eax
je 0x1023f35d
mov eax, dword [edi + 0xc]
mov edx, ebx
sub edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x68]
mov eax, dword [eax]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov esi, dword [edi + 8]
mov eax, 0x66666667
mov ecx, dword [esi + 0x78]
mov edi, dword [esi + 0x74]
sub ecx, edi
imul ecx
mov ecx, dword [ebp - 0x24]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x1023f34f
lea esi, [ecx + ecx*4]
mov ecx, dword [edi + esi*8 + 0x18]
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x1023f1af
mov eax, ebx
cdq
idiv ecx
mov edx, eax
jmp 0x1023f1c5
mov eax, ecx
test ecx, ecx
js 0x1023f1ba
sub eax, ebx
dec eax
jmp 0x1023f1be
not eax
sub eax, ebx
cdq
idiv ecx
mov edx, eax
neg edx
imul edx, ecx
mov eax, ebx
sub eax, edx
jne 0x1023f256
mov eax, dword [ebp - 0x14]
mov esi, dword [edi + esi*8 + 0x14]
mov edi, dword [eax + 8]
mov edx, dword [edi + 0x38]
test edx, edx
js 0x1023f1ea
mov eax, edx
cdq
idiv esi
jmp 0x1023f200
test esi, esi
js 0x1023f1f5
mov eax, esi
sub eax, edx
dec eax
jmp 0x1023f1fb
not edx
sub edx, esi
mov eax, edx
cdq
idiv esi
neg eax
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x18], eax
test edx, edx
js 0x1023f213
mov eax, edx
cdq
idiv esi
mov edi, eax
jmp 0x1023f22b
test esi, esi
js 0x1023f21e
mov eax, esi
sub eax, edx
dec eax
jmp 0x1023f224
not edx
sub edx, esi
mov eax, edx
cdq
idiv esi
mov edi, eax
neg edi
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 8]
mov ebx, dword [ebp - 0x20]
mov esi, dword [edx + 0x74]
cmp byte [esi + eax*8 + 0x1d], 0
je 0x1023f261
sub edi, dword [ebp - 0x18]
inc edi
push edi
push dword [esi + eax*8 + 4]
lea eax, [ebp - 0x28]
push eax
call fcn.10223220
add esp, 0xc
inc dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
jmp 0x1023f171
test ebx, ebx
js 0x1023f26e
mov eax, ebx
cdq
idiv ecx
mov ecx, eax
jmp 0x1023f284
mov eax, ecx
test ecx, ecx
js 0x1023f279
sub eax, ebx
dec eax
jmp 0x1023f27d
not eax
sub eax, ebx
cdq
idiv ecx
mov ecx, eax
neg ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [esi + edx*8 + 0x10]
imul eax, ecx
add eax, dword [esi + edx*8 + 8]
mov edx, dword [esi + edx*8 + 0xc]
mov esi, edx
imul esi, dword [ebp - 0x18]
mov ecx, edx
imul ecx, edi
add esi, eax
mov dword [ebp - 0x18], esi
add ecx, eax
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [esi + 8]
mov edi, dword [ebx + 0x74]
push dword [edi + eax*8 + 4]
push dword [edi + eax*8]
mov eax, esi
mov esi, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
push dword [eax + 0x18]
mov eax, dword [ebp - 0x1c]
sub esp, 8
movsd xmm0, qword [edi + eax*8 + 0x20]
movzx eax, byte [edi + eax*8 + 0x1c]
movsd qword [esp], xmm0
push eax
push edx
push ecx
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.10221540
mov ebx, dword [ebp - 0x20]
add esp, 0x28
inc dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
jmp 0x1023f171
add ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
jmp 0x1023f14e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret