Function at 0x43ea50
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 0x43ead9
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
test byte [eax + 0x88], 1
je 0x43ea7f
sub edx, 6
inc ebx
add ecx, 4
sub esi, 1
jne 0x43ea70
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 0x43eacc
mov edx, dword [eax + 0x50]
test edx, edx
je 0x43eacc
add dword [edi + 0x3c], edx
mov eax, dword [eax + 0x68]
add dword [edi + 0x4c], eax
inc ecx
cmp ecx, esi
jl 0x43eab0
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
jmp 0x43eb04
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 0x43ed3e
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
test esi, esi
jle 0x43eb6f
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 0x43eb49
add eax, dword [edx + 0x18]
inc ecx
cmp ecx, esi
jl 0x43eb22
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 0x43ecaf
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 0x43eca2
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 0x43ec93
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x43ebec
cmp dword [ebp + 0xc], 5
jne 0x43ebec
cmp dword [ebp - 0x20], 0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jne 0x43ec4e
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 0x43ec5e
mov ebx, dword [edi]
lea eax, [ebx - 1]
cmp esi, eax
jne 0x43ec02
cmp dword [ebp + 0xc], 1
je 0x43ec08
movd xmm1, dword [ebp - 0x1c]
jmp 0x43ec47
cmp dword [ebp + 0xc], 1
jne 0x43ec0d
movaps xmm1, xmm7
jmp 0x43ec4b
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x43ec3a
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 0x43ec4e
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 0x43ec64
test byte [ebp - 0x44], 4
je 0x43ec70
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 0x43ec7c
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 0x43ec96
mov ecx, dword [ebp - 0x1c]
inc esi
cmp esi, dword [edi]
jl 0x43eba0
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 2
jl 0x43eb80
mov edx, dword [ebp + 0xc]
cmp edx, 1
jne 0x43ed1e
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 0x43ed8a
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x88], 1
je 0x43ed13
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 0x43ed10
add dword [ebx], eax
mov eax, dword [ecx + 0x68]
add dword [edi + 0x44], eax
mov ecx, dword [edi]
inc edx
cmp edx, ecx
jl 0x43ece3
mov eax, ecx
jmp 0x43ed8c
mov eax, dword [edi + 0x2c]
sub dword [edi + 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [ebp + 8], eax
cmp edx, 2
je 0x43f3ff
cmp edx, 5
je 0x43f3ff
jmp 0x43ed41
mov dword [ebp + 8], ecx
mov ecx, dword [edi]
cmp edx, 3
jne 0x43ecc6
xor ebx, ebx
xor esi, esi
test ecx, ecx
jle 0x43f3ff
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov edx, dword [eax + esi*4]
test byte [edx + 0x88], 1
je 0x43ed80
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 0x43ed60
jmp 0x43f3ff
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 0x43f029
xor esi, esi
mov dword [edi + 0x44], edx
test ecx, ecx
jle 0x43edf4
mov eax, dword [edi + 4]
mov edx, dword [eax + esi*4]
test byte [edx + 0x88], 1
je 0x43ede7
cmp dword [edx + 0x40], 0
jne 0x43edde
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 0x43edea
mov dword [edx + 0x68], 0
jmp 0x43edea
add ebx, 6
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x43edb0
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 0x43f3ba
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 0x43f00c
nop word [eax + eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
test byte [esi + 0x88], 1
je 0x43eff7
cmp dword [esi + 0x60], 0
jne 0x43efba
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 0x43ee8b
cmp dword [ebp + 8], edx
cmovl edx, dword [ebp + 8]
mov ecx, dword [esi + 0x68]
mov ebx, dword [ebp - 0x30]
test ecx, ecx
je 0x43eeb8
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 0x43eebb
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 0x43eee8
mov eax, edx
neg eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm3, dword [ebp - 0x10]
cvtdq2pd xmm3, xmm3
test ecx, ecx
je 0x43ef10
movd xmm0, dword [ebp - 0x2c]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
divsd xmm1, xmm0
jmp 0x43ef13
movaps xmm1, xmm7
mov eax, dword [esi + 0x58]
addsd xmm1, xmm2
test eax, eax
je 0x43efac
movd xmm2, eax
movaps xmm0, xmm4
cvtdq2pd xmm2, xmm2
addsd xmm0, xmm1
comisd xmm0, xmm2
jb 0x43ef96
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm3
comisd xmm0, xmm7
jb 0x43ef4e
movaps xmm3, xmm7
jmp 0x43ef51
movaps xmm3, xmm1
subsd xmm2, xmm4
comisd xmm3, xmm2
jbe 0x43ef6b
comisd xmm0, xmm7
jb 0x43ef66
movaps xmm3, xmm7
jmp 0x43ef6e
movaps xmm3, xmm1
jmp 0x43ef6e
movaps xmm3, xmm2
comisd xmm3, xmm1
ja 0x43ef96
comisd xmm0, xmm7
jb 0x43ef7f
movaps xmm3, xmm7
jmp 0x43ef82
movaps xmm3, xmm1
comisd xmm3, xmm2
jbe 0x43ef93
comisd xmm0, xmm7
jb 0x43ef96
movaps xmm1, xmm7
jmp 0x43ef96
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 0x43efbd
mov ecx, dword [esi + 0x28]
mov eax, dword [ebp - 8]
mov ebx, ecx
dec eax
cmp dword [ebp - 0x1c], eax
jne 0x43efde
mov eax, edx
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x20]
cmp eax, dword [ebp - 8]
jg 0x43efde
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 0x43ee50
mov esi, dword [ebp - 0x18]
jmp 0x43f00e
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 0x43ee10
jmp 0x43f3ba
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 0x43f078
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 0x43f068
mov dword [eax + 0x60], 0
jmp 0x43f06b
add ebx, 6
mov ecx, dword [edi]
inc edx
cmp edx, ecx
jl 0x43f050
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0
test esi, esi
jne 0x43f095
mov eax, ecx
cmp dword [ebp - 0x30], esi
je 0x43f3ba
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 0x43f148
xor eax, eax
test ebx, ebx
cmovns eax, ebx
cmp esi, eax
jge 0x43f0c3
mov ecx, esi
jmp 0x43f0cc
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 0x43f10c
cmp esi, eax
jge 0x43f103
mov ebx, esi
jmp 0x43f10e
xor eax, eax
test ebx, ebx
cmovs ebx, eax
jmp 0x43f10e
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 0x43f141
mov ebx, ecx
mov eax, 0
sub ebx, edx
cmovs ebx, eax
sub esi, ebx
mov dword [ebp - 0x28], esi
jmp 0x43f1b5
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 0x43f182
xor ebx, ebx
jmp 0x43f1a5
cmp ebx, ecx
jge 0x43f18a
xor ebx, ebx
jmp 0x43f1a5
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 0x43f1b5
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 0x43f396
nop dword [eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + edx*4]
test byte [esi + 0x88], 1
je 0x43f380
cmp dword [esi + 0x60], 0
jne 0x43f330
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 0x43f21b
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 0x43f23d
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
divsd xmm1, xmm6
jmp 0x43f255
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 0x43f282
mov eax, edx
neg eax
movd xmm5, eax
cvtdq2pd xmm5, xmm5
movd xmm2, dword [ebp - 0x40]
cvtdq2pd xmm2, xmm2
test ecx, ecx
je 0x43f299
mulsd xmm2, xmm3
divsd xmm2, xmm6
jmp 0x43f2ba
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 0x43f325
movd xmm0, ecx
addsd xmm4, xmm2
cvtdq2pd xmm0, xmm0
comisd xmm4, xmm0
jbe 0x43f325
sub ecx, edx
mov eax, 0
cmovns eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm2
ja 0x43f2f5
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 0x43f31b
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 0x43f31e
sub dword [ebp - 0xc], edx
mov dword [esi + 0x60], 1
cvttsd2si eax, xmm1
add edx, eax
mov dword [esi + 0x28], edx
jmp 0x43f333
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 0x43f355
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
jg 0x43f355
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 0x43f1e0
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 0x43f086
xor esi, esi
xor edx, edx
test eax, eax
jle 0x43f3ff
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x88], 1
je 0x43f3fa
mov eax, dword [ecx + 0x28]
test eax, eax
jns 0x43f3e1
mov dword [ecx + 0x28], 0
xor eax, eax
mov ebx, dword [ebp - 4]
cmp ebx, eax
jge 0x43f3ed
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 0x43f3c2
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 0x43f4af
nop dword [eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
test byte [esi + 0x88], 1
je 0x43f4a6
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 0x43f497
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 0x43f4a6
mov eax, dword [esi + 0x28]
mov dword [esi + 0x80], eax
sub ebx, 1
jns 0x43f420
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 0x43f4f3
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*4]
test byte [eax + 0x88], 1
je 0x43f4ec
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x43f4ec
push eax
call ebx
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x43f4d0
xor esi, esi
test eax, eax
jle 0x43f518
nop dword [eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*4]
test byte [eax + 0x88], 1
je 0x43f513
push dword [eax]
call ebx
inc esi
cmp esi, dword [edi]
jl 0x43f500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret