Function at 0x4284d0
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 0x428559
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
test byte [eax + 0x88], 1
je 0x4284ff
sub edx, 6
inc ebx
add ecx, 4
sub esi, 1
jne 0x4284f0
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 0x42854c
mov edx, dword [eax + 0x50]
test edx, edx
je 0x42854c
add dword [edi + 0x3c], edx
mov eax, dword [eax + 0x68]
add dword [edi + 0x4c], eax
inc ecx
cmp ecx, esi
jl 0x428530
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
jmp 0x428584
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 0x4287be
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
test esi, esi
jle 0x4285ef
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 0x4285c9
add eax, dword [edx + 0x18]
inc ecx
cmp ecx, esi
jl 0x4285a2
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 0x42872f
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 0x428722
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 0x428713
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x42866c
cmp dword [ebp + 0xc], 5
jne 0x42866c
cmp dword [ebp - 0x20], 0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jne 0x4286ce
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 0x4286de
mov ebx, dword [edi]
lea eax, [ebx - 1]
cmp esi, eax
jne 0x428682
cmp dword [ebp + 0xc], 1
je 0x428688
movd xmm1, dword [ebp - 0x1c]
jmp 0x4286c7
cmp dword [ebp + 0xc], 1
jne 0x42868d
movaps xmm1, xmm7
jmp 0x4286cb
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4286ba
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 0x4286ce
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 0x4286e4
test byte [ebp - 0x44], 4
je 0x4286f0
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 0x4286fc
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 0x428716
mov ecx, dword [ebp - 0x1c]
inc esi
cmp esi, dword [edi]
jl 0x428620
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 2
jl 0x428600
mov edx, dword [ebp + 0xc]
cmp edx, 1
jne 0x42879e
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 0x42880a
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x88], 1
je 0x428793
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 0x428790
add dword [ebx], eax
mov eax, dword [ecx + 0x68]
add dword [edi + 0x44], eax
mov ecx, dword [edi]
inc edx
cmp edx, ecx
jl 0x428763
mov eax, ecx
jmp 0x42880c
mov eax, dword [edi + 0x2c]
sub dword [edi + 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [ebp + 8], eax
cmp edx, 2
je 0x428e7f
cmp edx, 5
je 0x428e7f
jmp 0x4287c1
mov dword [ebp + 8], ecx
mov ecx, dword [edi]
cmp edx, 3
jne 0x428746
xor ebx, ebx
xor esi, esi
test ecx, ecx
jle 0x428e7f
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov edx, dword [eax + esi*4]
test byte [edx + 0x88], 1
je 0x428800
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 0x4287e0
jmp 0x428e7f
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 0x428aa9
xor esi, esi
mov dword [edi + 0x44], edx
test ecx, ecx
jle 0x428874
mov eax, dword [edi + 4]
mov edx, dword [eax + esi*4]
test byte [edx + 0x88], 1
je 0x428867
cmp dword [edx + 0x40], 0
jne 0x42885e
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 0x42886a
mov dword [edx + 0x68], 0
jmp 0x42886a
add ebx, 6
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x428830
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 0x428e3a
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 0x428a8c
nop word [eax + eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
test byte [esi + 0x88], 1
je 0x428a77
cmp dword [esi + 0x60], 0
jne 0x428a3a
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 0x42890b
cmp dword [ebp + 8], edx
cmovl edx, dword [ebp + 8]
mov ecx, dword [esi + 0x68]
mov ebx, dword [ebp - 0x30]
test ecx, ecx
je 0x428938
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 0x42893b
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 0x428968
mov eax, edx
neg eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm3, dword [ebp - 0x10]
cvtdq2pd xmm3, xmm3
test ecx, ecx
je 0x428990
movd xmm0, dword [ebp - 0x2c]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
divsd xmm1, xmm0
jmp 0x428993
movaps xmm1, xmm7
mov eax, dword [esi + 0x58]
addsd xmm1, xmm2
test eax, eax
je 0x428a2c
movd xmm2, eax
movaps xmm0, xmm4
cvtdq2pd xmm2, xmm2
addsd xmm0, xmm1
comisd xmm0, xmm2
jb 0x428a16
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm3
comisd xmm0, xmm7
jb 0x4289ce
movaps xmm3, xmm7
jmp 0x4289d1
movaps xmm3, xmm1
subsd xmm2, xmm4
comisd xmm3, xmm2
jbe 0x4289eb
comisd xmm0, xmm7
jb 0x4289e6
movaps xmm3, xmm7
jmp 0x4289ee
movaps xmm3, xmm1
jmp 0x4289ee
movaps xmm3, xmm2
comisd xmm3, xmm1
ja 0x428a16
comisd xmm0, xmm7
jb 0x4289ff
movaps xmm3, xmm7
jmp 0x428a02
movaps xmm3, xmm1
comisd xmm3, xmm2
jbe 0x428a13
comisd xmm0, xmm7
jb 0x428a16
movaps xmm1, xmm7
jmp 0x428a16
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 0x428a3d
mov ecx, dword [esi + 0x28]
mov eax, dword [ebp - 8]
mov ebx, ecx
dec eax
cmp dword [ebp - 0x1c], eax
jne 0x428a5e
mov eax, edx
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x20]
cmp eax, dword [ebp - 8]
jg 0x428a5e
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 0x4288d0
mov esi, dword [ebp - 0x18]
jmp 0x428a8e
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 0x428890
jmp 0x428e3a
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 0x428af8
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 0x428ae8
mov dword [eax + 0x60], 0
jmp 0x428aeb
add ebx, 6
mov ecx, dword [edi]
inc edx
cmp edx, ecx
jl 0x428ad0
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0
test esi, esi
jne 0x428b15
mov eax, ecx
cmp dword [ebp - 0x30], esi
je 0x428e3a
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 0x428bc8
xor eax, eax
test ebx, ebx
cmovns eax, ebx
cmp esi, eax
jge 0x428b43
mov ecx, esi
jmp 0x428b4c
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 0x428b8c
cmp esi, eax
jge 0x428b83
mov ebx, esi
jmp 0x428b8e
xor eax, eax
test ebx, ebx
cmovs ebx, eax
jmp 0x428b8e
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 0x428bc1
mov ebx, ecx
mov eax, 0
sub ebx, edx
cmovs ebx, eax
sub esi, ebx
mov dword [ebp - 0x28], esi
jmp 0x428c35
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 0x428c02
xor ebx, ebx
jmp 0x428c25
cmp ebx, ecx
jge 0x428c0a
xor ebx, ebx
jmp 0x428c25
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 0x428c35
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 0x428e16
nop dword [eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + edx*4]
test byte [esi + 0x88], 1
je 0x428e00
cmp dword [esi + 0x60], 0
jne 0x428db0
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 0x428c9b
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 0x428cbd
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
divsd xmm1, xmm6
jmp 0x428cd5
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 0x428d02
mov eax, edx
neg eax
movd xmm5, eax
cvtdq2pd xmm5, xmm5
movd xmm2, dword [ebp - 0x40]
cvtdq2pd xmm2, xmm2
test ecx, ecx
je 0x428d19
mulsd xmm2, xmm3
divsd xmm2, xmm6
jmp 0x428d3a
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 0x428da5
movd xmm0, ecx
addsd xmm4, xmm2
cvtdq2pd xmm0, xmm0
comisd xmm4, xmm0
jbe 0x428da5
sub ecx, edx
mov eax, 0
cmovns eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm2
ja 0x428d75
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 0x428d9b
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 0x428d9e
sub dword [ebp - 0xc], edx
mov dword [esi + 0x60], 1
cvttsd2si eax, xmm1
add edx, eax
mov dword [esi + 0x28], edx
jmp 0x428db3
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 0x428dd5
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
jg 0x428dd5
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 0x428c60
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 0x428b06
xor esi, esi
xor edx, edx
test eax, eax
jle 0x428e7f
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x88], 1
je 0x428e7a
mov eax, dword [ecx + 0x28]
test eax, eax
jns 0x428e61
mov dword [ecx + 0x28], 0
xor eax, eax
mov ebx, dword [ebp - 4]
cmp ebx, eax
jge 0x428e6d
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 0x428e42
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 0x428f2f
nop dword [eax]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
test byte [esi + 0x88], 1
je 0x428f26
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 0x428f17
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 0x428f26
mov eax, dword [esi + 0x28]
mov dword [esi + 0x80], eax
sub ebx, 1
jns 0x428ea0
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 0x428f73
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*4]
test byte [eax + 0x88], 1
je 0x428f6c
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x428f6c
push eax
call ebx
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x428f50
xor esi, esi
test eax, eax
jle 0x428f98
nop dword [eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*4]
test byte [eax + 0x88], 1
je 0x428f93
push dword [eax]
call ebx
inc esi
cmp esi, dword [edi]
jl 0x428f80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret