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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [edi]
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x24], eax
test esi, esi
jle 0x43f539
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
test byte [eax + 0x88], 1
je 0x43f4df
sub edx, 6
inc ebx
add ecx, 4
sub esi, 1
jne 0x43f4d0
mov dword [ebp - 8], ebx
lea eax, [edi + 0x4c]
lea ebx, [edx + 6]
mov dword [edi + 0x3c], esi
lea edx, [edi + 0x3c]
mov dword [ebp - 4], ebx
mov dword [eax], esi
xor ecx, ecx
mov esi, dword [edi]
mov dword [ebp - 0xc], ebx
mov ebx, dword [edi + 4]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
nop dword [eax + eax]
mov eax, dword [ebx + ecx*4]
test byte [eax + 0x88], 1
je 0x43f52c
mov edx, dword [eax + 0x50]
test edx, edx
je 0x43f52c
add dword [edi + 0x3c], edx
mov eax, dword [eax + 0x68]
add dword [edi + 0x4c], eax
inc ecx
cmp ecx, esi
jl 0x43f510
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
jmp 0x43f564
lea ecx, [edx + 6]
mov dword [edi + 0x3c], 0
lea edx, [edi + 0x3c]
mov dword [ebp - 4], ecx
lea eax, [edi + 0x4c]
mov dword [ebp - 0x14], edx
mov ebx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ebx
mov dword [eax], 0
mov dword [ebp - 8], 0
mov edx, dword [ebp + 0xc]
xorps xmm7, xmm7
test edx, edx
je 0x43f79e
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
test esi, esi
jle 0x43f5cf
mov edx, dword [edi + 4]
mov edi, edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov edx, dword [edi + ecx*4]
test byte [edx + 0x88], 1
je 0x43f5a9
add eax, dword [edx + 0x18]
inc ecx
cmp ecx, esi
jl 0x43f582
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], eax
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x20], eax
nop dword [eax]
test ecx, ecx
je 0x43f70f
xor edx, edx
mov ecx, ebx
xor esi, esi
mov dword [ebp + 8], edx
mov dword [ebp - 0x1c], ecx
mov dword [edi + 0x2c], edx
cmp dword [edi], edx
jle 0x43f702
nop
mov eax, dword [edi + 4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0x44], eax
test al, 1
je 0x43f6f3
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x43f64c
cmp dword [ebp + 0xc], 5
jne 0x43f64c
cmp dword [ebp - 0x20], 0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jne 0x43f6ae
sub dword [ebp - 0x18], eax
sub ebx, eax
mov dword [ecx + 0x20], edx
cvttsd2si edx, xmm1
mov dword [ebp - 0xc], ebx
mov dword [ecx + 0x28], edx
jmp 0x43f6be
mov ebx, dword [edi]
lea eax, [ebx - 1]
cmp esi, eax
jne 0x43f662
cmp dword [ebp + 0xc], 1
je 0x43f668
movd xmm1, dword [ebp - 0x1c]
jmp 0x43f6a7
cmp dword [ebp + 0xc], 1
jne 0x43f66d
movaps xmm1, xmm7
jmp 0x43f6ab
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x43f69a
mov ebx, dword [ebp - 0xc]
movd xmm1, dword [ecx + 0x18]
cvtdq2pd xmm1, xmm1
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
jmp 0x43f6ae
mov eax, dword [ebp - 0xc]
cdq
idiv ebx
mov edx, dword [ebp + 8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov ebx, dword [ebp - 0xc]
cmp dword [ebp - 0x20], 0
mov dword [ecx + 0x20], edx
cvttsd2si edx, xmm1
mov dword [ecx + 0x28], edx
jne 0x43f6c4
test byte [ebp - 0x44], 4
je 0x43f6d0
mov edx, dword [ecx + 0x28]
mov eax, dword [ecx + 0x2c]
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], eax
cmp dword [ecx + 0x50], 0
je 0x43f6dc
add dword [edi + 0x2c], edx
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 6
sub ecx, edx
add eax, edx
mov dword [ebp - 0x1c], ecx
mov edx, eax
mov dword [ebp + 8], eax
jmp 0x43f6f6
mov ecx, dword [ebp - 0x1c]
inc esi
cmp esi, dword [edi]
jl 0x43f600
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 2
jl 0x43f5e0
mov edx, dword [ebp + 0xc]
cmp edx, 1
jne 0x43f77e
mov eax, dword [ebp - 4]
mov ecx, dword [edi]
mov dword [edi + 0x1c], 0
mov dword [ebp + 8], eax
mov ebx, dword [ebp - 0x10]
xor edx, edx
mov dword [edi + 0x44], 0
mov dword [ebx], 0
lea esi, [edx + 1]
test ecx, ecx
jle 0x43f7ea
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x88], 1
je 0x43f773
mov eax, dword [ecx + 0x68]
cmp eax, 1
mov dword [ecx + 0x60], 0
cmovl eax, esi
cmp dword [ecx + 0x50], 0
mov dword [ecx + 0x68], eax
je 0x43f770
add dword [ebx], eax
mov eax, dword [ecx + 0x68]
add dword [edi + 0x44], eax
mov ecx, dword [edi]
inc edx
cmp edx, ecx
jl 0x43f743
mov eax, ecx
jmp 0x43f7ec
mov eax, dword [edi + 0x2c]
sub dword [edi + 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [ebp + 8], eax
cmp edx, 2
je 0x43fe5f
cmp edx, 5
je 0x43fe5f
jmp 0x43f7a1
mov dword [ebp + 8], ecx
mov ecx, dword [edi]
cmp edx, 3
jne 0x43f726
xor ebx, ebx
xor esi, esi
test ecx, ecx
jle 0x43fe5f
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov edx, dword [eax + esi*4]
test byte [edx + 0x88], 1
je 0x43f7e0
mov eax, dword [edx + 0x18]
add eax, dword [edx + 0x78]
mov dword [edx + 0x20], ebx
add ebx, 6
mov dword [edx + 0x28], eax
add ebx, eax
inc esi
cmp esi, dword [edi]
jl 0x43f7c0
jmp 0x43fe5f
mov eax, dword [edi]
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [edi + 0x1c]
mov edx, dword [edx]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], ebx
test edx, edx
jne 0x43fa89
xor esi, esi
mov dword [edi + 0x44], edx
test ecx, ecx
jle 0x43f854
mov eax, dword [edi + 4]
mov edx, dword [eax + esi*4]
test byte [edx + 0x88], 1
je 0x43f847
cmp dword [edx + 0x40], 0
jne 0x43f83e
mov eax, dword [edx + 0x18]
mov ecx, 1
add eax, dword [edx + 0x78]
cmp eax, 1
cmovl eax, ecx
mov dword [edx + 0x68], eax
add dword [edi + 0x44], eax
jmp 0x43f84a
mov dword [edx + 0x68], 0
jmp 0x43f84a
add ebx, 6
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x43f810
mov dword [ebp - 0xc], ebx
mov esi, dword [edi + 0x44]
mov ecx, eax
mov edx, 1
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x34], 0
nop
test edx, edx
je 0x43fe1a
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
sub eax, ebx
xor ebx, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0
mov eax, ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], ebx
test ecx, ecx
jle 0x43fa6c
nop word [eax + eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
test byte [esi + 0x88], 1
je 0x43fa57
cmp dword [esi + 0x60], 0
jne 0x43fa1a
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x18]
add eax, ecx
cmovns edx, eax
test ecx, ecx
je 0x43f8eb
cmp dword [ebp + 8], edx
cmovl edx, dword [ebp + 8]
mov ecx, dword [esi + 0x68]
mov ebx, dword [ebp - 0x30]
test ecx, ecx
je 0x43f918
movd xmm1, ecx
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [ebp - 0x2c]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
jmp 0x43f91b
movaps xmm1, xmm7
cvttsd2si eax, xmm1
movd xmm4, edx
cvtdq2pd xmm4, xmm4
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm4
addsd xmm0, xmm2
comisd xmm7, xmm0
jbe 0x43f948
mov eax, edx
neg eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm3, dword [ebp - 0x10]
cvtdq2pd xmm3, xmm3
test ecx, ecx
je 0x43f970
movd xmm0, dword [ebp - 0x2c]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
divsd xmm1, xmm0
jmp 0x43f973
movaps xmm1, xmm7
mov eax, dword [esi + 0x58]
addsd xmm1, xmm2
test eax, eax
je 0x43fa0c
movd xmm2, eax
movaps xmm0, xmm4
cvtdq2pd xmm2, xmm2
addsd xmm0, xmm1
comisd xmm0, xmm2
jb 0x43f9f6
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm3
comisd xmm0, xmm7
jb 0x43f9ae
movaps xmm3, xmm7
jmp 0x43f9b1
movaps xmm3, xmm1
subsd xmm2, xmm4
comisd xmm3, xmm2
jbe 0x43f9cb
comisd xmm0, xmm7
jb 0x43f9c6
movaps xmm3, xmm7
jmp 0x43f9ce
movaps xmm3, xmm1
jmp 0x43f9ce
movaps xmm3, xmm2
comisd xmm3, xmm1
ja 0x43f9f6
comisd xmm0, xmm7
jb 0x43f9df
movaps xmm3, xmm7
jmp 0x43f9e2
movaps xmm3, xmm1
comisd xmm3, xmm2
jbe 0x43f9f3
comisd xmm0, xmm7
jb 0x43f9f6
movaps xmm1, xmm7
jmp 0x43f9f6
movaps xmm1, xmm2
sub dword [ebp - 0x18], ecx
cvttsd2si eax, xmm1
mov dword [esi + 0x60], 1
add eax, edx
sub dword [ebp + 8], eax
sub dword [ebp - 0xc], edx
cvttsd2si ecx, xmm1
add ecx, edx
mov edx, dword [ebp - 0x20]
mov dword [esi + 0x28], ecx
jmp 0x43fa1d
mov ecx, dword [esi + 0x28]
mov eax, dword [ebp - 8]
mov ebx, ecx
dec eax
cmp dword [ebp - 0x1c], eax
jne 0x43fa3e
mov eax, edx
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x20]
cmp eax, dword [ebp - 8]
jg 0x43fa3e
mov dword [esi + 0x28], edx
mov ebx, edx
mov eax, dword [ebp - 0x28]
sub edx, ebx
mov dword [esi + 0x20], eax
add eax, 6
add eax, ebx
mov dword [ebp - 0x20], edx
inc dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
inc ebx
mov dword [ebp - 0x14], ebx
mov ecx, eax
cmp ebx, eax
jl 0x43f8b0
mov esi, dword [ebp - 0x18]
jmp 0x43fa6e
mov ecx, dword [edi]
mov ebx, dword [ebp - 0x34]
inc ebx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], ebx
cmp ebx, 0xa
mov ebx, dword [ebp - 0xc]
jl 0x43f870
jmp 0x43fe1a
mov ebx, dword [edi + 0x2c]
xor edx, edx
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], eax
test ecx, ecx
jle 0x43fad8
mov ebx, dword [ebp - 0xc]
nop word [eax + eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + edx*4]
test byte [eax + 0x88], 1
je 0x43fac8
mov dword [eax + 0x60], 0
jmp 0x43facb
add ebx, 6
mov ecx, dword [edi]
inc edx
cmp edx, ecx
jl 0x43fab0
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0
test esi, esi
jne 0x43faf5
mov eax, ecx
cmp dword [ebp - 0x30], esi
je 0x43fe1a
mov eax, dword [ebp + 8]
mov esi, eax
mov edx, dword [ebp - 0x1c]
sub esi, ebx
mov ebx, edx
mov dword [ebp - 0x34], 0
sub ebx, dword [ebp - 0x10]
sub esi, dword [ebp - 0xc]
js 0x43fba8
xor eax, eax
test ebx, ebx
cmovns eax, ebx
cmp esi, eax
jge 0x43fb23
mov ecx, esi
jmp 0x43fb2c
xor edx, edx
mov ecx, ebx
test ebx, ebx
cmovs ecx, edx
movd xmm6, dword [ebp - 0x18]
movd xmm2, dword [ebp - 0x20]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm6, xmm6
cvtdq2pd xmm2, xmm2
mulsd xmm0, xmm6
movsd qword [ebp - 0x4c], xmm2
divsd xmm0, xmm2
cvttsd2si edx, xmm0
cmp ecx, edx
jle 0x43fb6c
cmp esi, eax
jge 0x43fb63
mov ebx, esi
jmp 0x43fb6e
xor eax, eax
test ebx, ebx
cmovs ebx, eax
jmp 0x43fb6e
mov ebx, edx
movd xmm0, dword [ebp + 8]
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mulsd xmm0, xmm6
divsd xmm0, xmm2
cvttsd2si eax, xmm0
cmp ecx, eax
cmovle ecx, eax
lea eax, [ebx + edx]
cmp eax, ecx
jle 0x43fba1
mov ebx, ecx
mov eax, 0
sub ebx, edx
cmovs ebx, eax
sub esi, ebx
mov dword [ebp - 0x28], esi
jmp 0x43fc15
movd xmm6, dword [ebp - 0x18]
mov ecx, edx
movd xmm2, dword [ebp - 0x20]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm6, xmm6
cvtdq2pd xmm2, xmm2
mulsd xmm0, xmm6
movsd qword [ebp - 0x4c], xmm2
divsd xmm0, xmm2
cvttsd2si eax, xmm0
cmp edx, eax
cmovle ecx, eax
test ebx, ebx
jle 0x43fbe2
xor ebx, ebx
jmp 0x43fc05
cmp ebx, ecx
jge 0x43fbea
xor ebx, ebx
jmp 0x43fc05
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
divsd xmm0, xmm2
cvttsd2si eax, xmm0
cmp ebx, eax
cmovg eax, ebx
mov ebx, eax
sub esi, ebx
mov dword [ebp - 0x28], esi
test esi, esi
jle 0x43fc15
mov dword [ebp - 0x28], 0
mov esi, dword [ebp - 4]
cmp esi, ecx
mov eax, dword [edi]
cmovl ecx, esi
mov dword [ebp - 0x14], esi
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x38], edx
test eax, eax
jle 0x43fdf6
nop dword [eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + edx*4]
test byte [esi + 0x88], 1
je 0x43fde0
cmp dword [esi + 0x60], 0
jne 0x43fd90
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x18]
add eax, ecx
cmovns edx, eax
test ecx, ecx
je 0x43fc7b
cmp dword [ebp + 8], edx
cmovl edx, dword [ebp + 8]
mov ecx, dword [esi + 0x50]
movd xmm3, dword [esi + 0x68]
cvtdq2pd xmm3, xmm3
test ecx, ecx
je 0x43fc9d
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
divsd xmm1, xmm6
jmp 0x43fcb5
movd xmm1, dword [ebp - 0x28]
movaps xmm0, xmm2
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm6
mulsd xmm1, xmm3
divsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm4, edx
cvtdq2pd xmm4, xmm4
movd xmm5, eax
cvtdq2pd xmm5, xmm5
movaps xmm0, xmm4
addsd xmm0, xmm5
comisd xmm7, xmm0
jbe 0x43fce2
mov eax, edx
neg eax
movd xmm5, eax
cvtdq2pd xmm5, xmm5
movd xmm2, dword [ebp - 0x40]
cvtdq2pd xmm2, xmm2
test ecx, ecx
je 0x43fcf9
mulsd xmm2, xmm3
divsd xmm2, xmm6
jmp 0x43fd1a
movd xmm1, dword [ebp - 0x3c]
movsd xmm0, qword [ebp - 0x4c]
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm6
subsd xmm1, xmm2
mulsd xmm1, xmm3
divsd xmm1, xmm0
movaps xmm2, xmm1
mov ecx, dword [esi + 0x58]
addsd xmm2, xmm5
movaps xmm1, xmm2
test ecx, ecx
je 0x43fd85
movd xmm0, ecx
addsd xmm4, xmm2
cvtdq2pd xmm0, xmm0
comisd xmm4, xmm0
jbe 0x43fd85
sub ecx, edx
mov eax, 0
cmovns eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm2
ja 0x43fd55
movaps xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edx
sub dword [ebp + 8], eax
mov eax, dword [esi + 0x68]
sub dword [ebp - 0x20], eax
cmp dword [esi + 0x50], 0
je 0x43fd7b
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [esi + 0x18]
sub dword [ebp - 0x18], eax
sub dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], ecx
jmp 0x43fd7e
sub dword [ebp - 0xc], edx
mov dword [esi + 0x60], 1
cvttsd2si eax, xmm1
add edx, eax
mov dword [esi + 0x28], edx
jmp 0x43fd93
mov edx, dword [esi + 0x28]
mov eax, dword [ebp - 8]
mov ecx, edx
dec eax
cmp dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
jne 0x43fdb5
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
jg 0x43fdb5
mov dword [esi + 0x28], eax
mov ecx, eax
mov edx, dword [ebp - 0x34]
sub eax, ecx
inc dword [ebp - 0x2c]
mov dword [esi + 0x20], edx
add edx, 6
mov dword [ebp - 0x14], eax
add edx, ecx
mov eax, dword [ebp - 0x30]
sub eax, ecx
mov dword [ebp - 0x34], edx
cmp dword [esi + 0x50], 0
mov edx, dword [ebp - 0x38]
cmove eax, dword [ebp - 0x30]
mov ecx, eax
mov dword [ebp - 0x30], ecx
mov eax, dword [edi]
inc edx
movsd xmm2, qword [ebp - 0x4c]
mov dword [ebp - 0x38], edx
cmp edx, eax
jl 0x43fc40
mov esi, dword [ebp - 0x14]
xor ebx, ebx
mov dword [ebp - 0x3c], esi
test ecx, ecx
mov edx, ecx
mov ecx, eax
cmovs edx, ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x44]
inc edx
mov dword [ebp - 0x44], edx
cmp edx, 0xa
jl 0x43fae6
xor esi, esi
xor edx, edx
test eax, eax
jle 0x43fe5f
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x88], 1
je 0x43fe5a
mov eax, dword [ecx + 0x28]
test eax, eax
jns 0x43fe41
mov dword [ecx + 0x28], 0
xor eax, eax
mov ebx, dword [ebp - 4]
cmp ebx, eax
jge 0x43fe4d
mov dword [ecx + 0x28], ebx
mov eax, ebx
mov dword [ecx + 0x20], esi
sub ebx, eax
add esi, 6
mov dword [ebp - 4], ebx
add esi, eax
inc edx
cmp edx, dword [edi]
jl 0x43fe22
mov eax, dword [edi]
lea eax, [eax*2 - 1]
push eax
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov ebx, dword [edi]
mov edx, eax
sub ebx, 1
js 0x43ff0f
nop dword [eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
test byte [esi + 0x88], 1
je 0x43ff06
push 4
push dword [esi + 0x2c]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [esi + 0x20]
push 0
push dword [esi]
push edx
call dword [sym.imp.USER32.dll_DeferWindowPos]
cmp dword [esi + 0xa0], 0
mov edx, eax
je 0x43fef7
mov dword [esi + 0x90], 0
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x98], ecx
mov eax, dword [edi + 4]
push 4
push ecx
push 6
mov eax, dword [eax + ebx*4]
push 0
mov eax, dword [eax + 0x20]
mov dword [esi + 0x94], eax
add eax, 0xfffffffa
push eax
push 0
push dword [esi + 0xa0]
mov dword [esi + 0x8c], eax
push edx
call dword [sym.imp.USER32.dll_DeferWindowPos]
mov edx, eax
cmp dword [ebp + 0xc], 1
jne 0x43ff06
mov eax, dword [esi + 0x28]
mov dword [esi + 0x80], eax
sub ebx, 1
jns 0x43fe80
push edx
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov eax, dword [edi]
xor esi, esi
mov ebx, dword [sym.imp.USER32.dll_UpdateWindow]
test eax, eax
jle 0x43ff53
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*4]
test byte [eax + 0x88], 1
je 0x43ff4c
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x43ff4c
push eax
call ebx
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x43ff30
xor esi, esi
test eax, eax
jle 0x43ff78
nop dword [eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*4]
test byte [eax + 0x88], 1
je 0x43ff73
push dword [eax]
call ebx
inc esi
cmp esi, dword [edi]
jl 0x43ff60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret